如何为标准滚动条创建键盘界面
虽然滚动条控件提供内置键盘接口,但标准滚动条却未提供。 要为标准滚动条实现键盘接口,窗口过程必须处理 WM_KEYDOWN 消息,并检查 wParam 参数指定的虚拟键代码。 如果虚拟键代码与箭头键相对应,则窗口过程将向自己发送 WM_HSCROLL 或 WM_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;
}
相关主题