如何为标准滚动条创建键盘界面

虽然滚动条控件提供内置键盘接口,但标准滚动条却未提供。 要为标准滚动条实现键盘接口,窗口过程必须处理 WM_KEYDOWN 消息,并检查 wParam 参数指定的虚拟键代码。 如果虚拟键代码与箭头键相对应,则窗口过程将向自己发送 WM_HSCROLLWM_VSCROLL 消息,并将 wParam 参数的低位字设置为相应的滚动条请求代码。

例如,当用户按向上箭头键时,窗口过程会收到一条 wParam 等于 VK_UP 的 WM_KEYDOWN 消息。 作为响应,窗口过程自行发送一条 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)