Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Хотя элемент управления полосой прокрутки предоставляет встроенный интерфейс клавиатуры, стандартная полоса прокрутки не поддерживается. Чтобы реализовать интерфейс клавиатуры для стандартной полосы прокрутки, процедура окна должна обработать сообщение 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;
}
Связанные разделы