WM_VSCROLL 消息
消息含义:当窗口的标准垂直滚动条有滚动事件发生时,操作系统向窗口的消息队列投入一条 WM_VSCROLL 消息。
此消息也适用于触发垂直滚动条控件。
应用程序通过窗口过程接收该消息(请关注:《Windows程序设计(SDK)》视频教学)。
消息定义:
#define WM_VSCROLL 0x0115
参数解析:
wParam:当 LOWORD(wParam) 的结果(取低 16 位)为 SB_THUMBPOSITION 或 SB_THUMBTRACK 时,HIWORD(wParam) 的值(取高 16 位)是当前滑块在滚动框的位置。
小甲鱼温馨提示:
[*]当 wParam 的低 16 位的值是 SB_THUMBTRACK 时,wParam 的高 16 位是用户拖动滑块的当前位置
[*]当 wParam 的低 16 位的值是 SB_THUMBPOSITION 时,wParam 的高 16 位是用户松开鼠标按键时滑块的最终位置
[*]对于其他的滚动操作,wParam 的高 16 位应该被忽略
LOWORD(wParam) 的结果(取低 16 位)代表了鼠标在滚动条上的动作,这个值被称之为“通知码”,由一个以“SB”开头的标识符定义。
该通知码是下列值之一:
值 含义
SB_BOTTOM 滚动到底部(键盘 End 按键触发)
SB_ENDSCROLL完成滚动操作(松开鼠标)
SB_LINEDOWN 向下滚动一行
SB_LINEUP 向上滚动一行
SB_PAGEDOWN 向下滚动一页
SB_PAGEUP 向上滚动一页
SB_THUMBPOSITION 1. 用户有拖动滚动条的操作,并已经松开了鼠标按钮
2. HIWORD(wParam) 得到用户松开鼠标按键时滑块的最终位置
SB_THUMBTRACK 1. 用户拖动滚动条滑块触发此消息
2. 此消息被重复发送,直到用户松开鼠标按钮
3. HIWORD(wParam) 得到用户拖动滑块的当前位置
SB_TOP 滚动到顶端(键盘 Home 按键触发)
lParam:如果该参数等于 0,说明它是标准的窗口滚动条;如果该参数等于滚动条窗口句柄,说明它是滚动条控件。
返回值:
1. 如果窗口过程响应该消息,必须返回 0。
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
WinSDK WM_VSCROLL消息只接受wParam参数吗?我在WM_VSCROLL中的switch-case语句当中写switch(LOWORD(lParam))感觉貌似也没有什么不妥啊?? 按照教程写的滚动条1,还是没有反应,笑死
页:
[1]