2012-04-17 3 views
1

Я пытаюсь использовать CScrollBar для перемещения по списку элементов в диалоговом окне. Я нахожу сообщения OnVScroll в диалоговом окне, и полоса прокрутки правильно реагирует на щелчок стрелками вверху и внизу панели и нажатием диапазона штрихов для продвижения по полным страницам. Проблема в том, что когда вы пытаетесь перетащить большой палец, он не реагирует вообще, пока вы не отпустите кнопку мыши, после чего большой палец переместится в правильное положение.CScrollBar отслеживание пальца не работает

Я использовал spy ++ для поиска сообщений WM_VSCROLL, и кажется, что они только отправляются с режимом SB_THUMBTRACK, когда вы нажимаете на большой палец и когда вы его отпускаете, но не перетаскиваете. Однако на странице msdn на CScrollBar говорится, что эти сообщения следует отправлять непрерывно, пока большой палец перетаскивается. Поскольку я не получаю эти сообщения, я не знаю, где находится большой палец и не может установить текущую позицию.

Я не думаю, что сообщения перехватываются где-нибудь еще, во-первых, потому что spy ++ не видел их даже тогда, когда я установил его для регистрации всех сообщений, а во-вторых, потому что на панели появляются два сообщения thumbtrack при нажатии и отпускании ,

У меня есть эта проблема, я предоставляю диалог WS_VSCROLL или создаю CScrollBar и поместите его в диалоговом окне.

Есть ли что-то, что мне не хватает?

ответ

1

Убедитесь, что вы не путаете SB_THUMBTRACK с SB_THUMBPOSITION. Первый - это то, что вы хотите для живой прокрутки, а последнее отправляется только тогда, когда пользователь отпускает слайдер.

Вы также можете проверить настройки производительности (Панель управления -> Просмотр расширенных системных настроек -> Расширенная вкладка -> Производительность -> Настройки ... -> Визуальные эффекты. Возможно, некоторые эффекты в реальном времени отключены (например, в списках раскладок с плавающей запятой или других в зависимости от используемой версии Windows.

+0

SB_THUMBPOSITION работает правильно, но я также получаю SB_THUMBTRACK при нажатии и отпускании большого пальца. Плавная прокрутка уже включена , и изменение его не повлияло на мою проблему. –

Смежные вопросы