Определение числа прокручиваемых строк модулем MSWHEEL

Пользователи могут определить число строк, которые будут прокручиваться для просмотра, для каждого вращения колесика (метки), используя установочные параметры на вкладке Wheel программы IntelliPoint (или на вкладке свойств Мыши (Mouse) в Панели управления (Windows)).

Чтобы получить количество строк, которое в текущий момент установлено, приложение может использовать нижеследующий сегмент кода, чтобы запросить данные у модуля MSWHEEL:

Пример

#include "zmouse.h"

HWND hdlMSHWheel=NULL;
UINT msgMSHWheelGetScrollLines=NULL;
UINT uiMsh_WheelScrollLines;

msgMSHWheelGetScrollLines = 
    RegisterWindowMessage(MSH_SCROLL_LINES);
hdlMSHWheel = FindWindow(MSH_WHEELMODULE_CLASS, 
                         MSH_WHEELMODULE_TITLE);
if (hdlMSHWheel && msgMSHWheelGetScrollLines)
{
        uiMsh_WheelScrollLines = 
          (UINT)SendMessage(hdlMSHWheel,
                            msgMSHWheelGetScrollLines,
                            0, 
                            0);
}

Как альтернативу, приложение может использовать встроенную функцию HwndMsWheel, которая находится в ZMouse.h. Встраиваемая функция возвращает не только число прокручиваемых строк, но также и зарегистрированные сообщения, дескриптор окна MSWHEEL и флажок, сообщающий, что мышь колесика поддерживается.

Если пользователь изменяет число прокручиваемых строк, MSWheel транслирует сообщение во все окна, используя нижеследующий код:

SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE,
            SPI_SETWHEELSCROLLLINES, NULL);

Когда приложение получает это сообщение, оно может затем отправить сообщение модулю MSWHEEL, чтобы получить число прокручиваемых строк, используя SendMessage (hdlMSHWheel, msgMSHWheelGetScrollLines, 0, 0).

Обратите внимание! на то, что сообщение WM_SETTINGCHANGE эквивалентно WM_WININICHANGE.  Документация SDK указывает, что WM_SETTINGCHANGE не поддерживается в Windows NT 3.51, но MSWHEEL будет использовать синтаксис, написанный выше для всех операционных систем.

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

Функции прокручиваемой строки полностью доступны в выпуске 019  MSWHEEL.

Назад в оглавление
На главную страницу

Hosted by uCoz