Перемещение полосы прокрутки SetScrollPos и ​​SendMessage - PullRequest
1 голос
/ 19 июля 2010

Я пытаюсь прокрутить полосу прокрутки окна программно.Сначала я отправляю:

SetScrollPos(handle, 1, position, true);

, а затем:

SendMessage(handle, 0x0115, wparam, new IntPtr(0));

Wparam правильный.Когда я проверяю через spy ++, единственная разница между отправкой прокрутки с помощью приведенного выше кода и фактической прокруткой заключается в том, что в фактической прокрутке уровень вложенности сообщения равен 1, но здесь он равен нулю.Но кроме этого, все остальные свойства и то же, WM_VSCROLL, дескриптор, позиция, wparam и т. Д. Но программная прокрутка не перемещает панель.Любые предложения о том, что я делаю неправильно ???

PS: Попытка сделать это из приложения ac # Спасибо огромное!

РЕДАКТИРОВАТЬ: когда я передаю SB_BOTTOM в wparam, он принимает меня правильнодо конца свитка.

1 Ответ

1 голос
/ 19 июля 2010

Лучше использовать функцию SetScrollInfo вместо ручной отправки сообщений.

...