Как прокрутить полосу прокрутки во внешнем приложении через WinAPI? - PullRequest
1 голос
/ 12 августа 2010

Описание

Я пытаюсь протестировать приложение, написанное в Delphi (компоненты VCL от DevEx) с TestComplete. Приложение построено без отладочной информации.

Мне нужно прокрутить компонент TcxTreeList. Проблема в том, что я установил свойство Position для содержимого полосы прокрутки этого компонента, но не прокручивается, а изменяется положение полосы прокрутки Я перепробовал множество подходов и полагаю, что WinAPI может мне помочь.

Вопрос:

Как прокрутить полосу прокрутки во внешнем приложении через WinAPI?

Я нашел функцию PostMessage, но я не знаю, как синтезировать сообщение WM_SCROLL ...

Ответы [ 2 ]

1 голос
/ 16 августа 2010

Прокрутите одну строку вниз (вы можете увидеть другие константы на странице, упомянутой JustBoo);

PostMessage(HWnd, WM_VSCROLL, SB_LINEDOWN, 0)

Прокрутка до определенной позиции;

PostMessage(HWnd, WM_VSCROLL, MakeWParam(SB_THUMBPOSITION, 30), 0)


Но если вы ссылаетесь на эту страницу на форумах Devex, упоминается, что "ScrollBar in the cxTreeList it is another control, not standard windows scrollbar". Так что это может не сработать. В этом случае вы можете попробовать ScrollWindowEx в сочетании с настройкой позиции, как вы уже это делаете.

0 голосов
/ 15 августа 2010

Эти ссылки должны показать, как настроить параметры для вызова PostMessage для прокрутки.

WM_HSCROLL Сообщение

WM_VSCROLL Сообщение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...