Поделиться через


Создание интерфейса клавиатуры для стандартных полос прокрутки

Хотя элемент управления полосой прокрутки предоставляет встроенный интерфейс клавиатуры, стандартная полоса прокрутки не поддерживается. Чтобы реализовать интерфейс клавиатуры для стандартной полосы прокрутки, процедура окна должна обработать сообщение WM_KEYDOWN и проверить код виртуального ключа, указанный параметром wParam. Если код виртуального ключа соответствует клавише со стрелкой, процедура окна отправляет себе сообщение WM_HSCROLL или WM_VSCROLL со словом младшего порядка параметра wParam, установленным в соответствующий код запроса полосы прокрутки.

Например, когда пользователь нажимает клавишу СТРЕЛКА ВВЕРХ, процедура окна получает сообщение WM_KEYDOWN с wParam равно VK_UP. В ответ процедура окна отправляет себе сообщение WM_VSCROLL, с младшим словом wParam, установленным в код запроса SB_LINEUP.

Что нужно знать

Технологии

Необходимые условия

  • C/C++
  • Программирование пользовательского интерфейса Windows

Инструкции

Создание интерфейса клавиатуры для стандартной полосы прокрутки

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

    case WM_KEYDOWN: 
    {
        WORD wScrollNotify = 0xFFFF;

        switch (wParam) 
        { 
            case VK_UP: 
                wScrollNotify = SB_LINEUP; 
                break; 
 
            case VK_PRIOR: 
                wScrollNotify = SB_PAGEUP; 
                break; 
 
            case VK_NEXT: 
                wScrollNotify = SB_PAGEDOWN; 
                break; 
 
            case VK_DOWN: 
                wScrollNotify = SB_LINEDOWN; 
                break; 
 
            case VK_HOME: 
                wScrollNotify = SB_TOP; 
                break; 
 
            case VK_END: 
                wScrollNotify = SB_BOTTOM; 
                break; 
        } 
 
        if (wScrollNotify != -1) 
            SendMessage(hwnd, WM_VSCROLL, MAKELONG(wScrollNotify, 0), 0L); 
 
        break; 
    }

использование полос прокрутки

демонстрация стандартных элементов управления Windows (CppWindowsCommonControls)