Полоса прокрутки запросы

Пользователь делает прокрутки запросы, нажав различные части полосы прокрутки. Система отправляет запрос в данном окне в виде сообщения WM_HSCROLL или WM_VSCROLL . Горизонтальная полоса прокрутки посылает сообщение WM_HSCROLL; вертикальная полоса прокрутки посылает сообщение WM_VSCROLL. Каждое сообщение содержит код уведомления, соответствующий его действий, чтобы дескриптор для прокрутки бар (прокрутки элементов панели управления только), и, в некоторых случаях, к позиции ползунка.

На следующем рисунке показаны сообщения уведомления, создаваемые пользователем при нажатии на различные части полосы прокрутки.

Прокрутки бар коды уведомлений укажите действия пользователя. Приложение анализирует коды, которые сопровождают WM_HSCROLL и WM_VSCROLL сообщений и затем выполняет соответствующие операции прокрутки. В следующей таблице сообщений уведомлений для каждого сообщения, а затем приложения ответ указывается действий пользователя. В каждом случае подразделение определяется приложением при необходимости для заданных данных. Например типичный для прокрутки текста по вертикали единица строка текста.

Уведомление
Сообщение

Действия

Ответ
SB_LINEUP Пользователь щелкает стрелку верхнего прокрутки. Уменьшает позицию прокрутки; Прокрутка к началу данных на одну единицу.
SB_LINEDOWN Пользователь щелкает стрелку прокрутки снизу. Увеличивает текущую позицию прокрутки по box; Прокрутка в нижней части данных на одну единицу.
SB_LINELEFT Пользователь нажимает левую стрелку прокрутки. Уменьшает позицию прокрутки; Прокручивает к левой части данных на одну единицу.
SB_LINERIGHT Пользователь щелкает стрелку прокрутки справа. Увеличивает текущую позицию прокрутки по box; Прокручивает к правой части данных на одну единицу.
SB_PAGEUP Пользователь щелкает вал панель прокрутки над ползунком. Уменьшает позицию указателя полосы прокрутки на количество единиц данных в окне; Прокрутка к началу данных на том же количество единиц.
SB_PAGEDOWN Пользователь щелкает вал панель прокрутки ниже бегунка. Увеличивает текущую позицию прокрутки по коробки на количество единиц данных в окне; Прокрутка в нижней части данных на том же количество единиц.
SB_PAGELEFT Пользователь щелкает вал панель прокрутки слева от бегунка. Уменьшает позицию указателя полосы прокрутки на количество единиц данных в окне; Прокручивает к левой части данных на том же количество единиц.
SB_PAGERIGHT Пользователь щелкает вал панель прокрутки справа от ползунка. Увеличивает текущую позицию прокрутки по коробки на количество единиц данных в окне; Прокручивает к правой части данных на том же количество единиц.
SB_THUMBPOSITION Пользователь отпускает бегунка после перетаскивания. Устанавливает ползунка в положение, в сообщении; прокрутка данных на том же количество единиц перемещения ползунка.
SB_THUMBTRACK Пользователь перетаскивает поле прокрутки. Устанавливает ползунка в положение, в сообщении и прокрутка данных, такое же количество единиц перемещения ползунка для приложений, которые извлекают данные быстро. Приложения, которые не могут привлечь данных быстро должны ждать для SB_THUMBPOSITION сообщения до перемещения бегунка и прокрутки данных.
SB_ENDSCROLL Пользователь отпускает кнопку мыши после проведения его на стрелки или в вал панель прокрутки. Ответа не требуется.

Полоса прокрутки генерирует сообщения уведомления о SB_THUMBPOSITION и SB_THUMBTRACK, когда пользователь нажимает и перетаскивании ползунка. Приложение должно быть запрограммирована для обработки SB_THUMBTRACK или SB_THUMBPOSITION сообщение уведомления.

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

SB_THUMBTRACK уведомления сообщений происходят как пользователь перетаскивает поле прокрутки. Если приложение обрабатывает сообщения SB_THUMBTRACK, его можно прокручивать содержимое окна как пользователь перетаскивает поле прокрутки. Однако полоса прокрутки может генерировать много сообщений уведомления SB_THUMBTRACK за короткий период, поэтому приложение должно обработать эти сообщения только, если она может быстро перерисовку содержимое окна.

Index