小甲鱼 发表于 2014-8-2 21:21:59

WM_HSCROLL 消息

消息含义:

当窗口的标准水平滚动条有滚动事件发生时,操作系统向窗口的消息队列投入一条 WM_HSCROLL 消息。

此消息也适用于触发水平滚动条控件。

应用程序通过窗口过程接收该消息(请关注:《Windows程序设计(SDK)》视频教学)。


消息定义:

#define WM_HSCROLL                      0x0114

参数解析:

wParam: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_ENDSCROLL 完成滚动操作(松开鼠标)
SB_LEFT滚动到左边
SB_RIGHT滚动到右边
SB_LINELEFT 向左滚动一行
SB_LINERIGHT 向右滚动一行
SB_PAGELEFT 向左滚动一页
SB_PAGERIGHT 向右滚动一页
SB_THUMBPOSITION 1. 用户有拖动滚动条的操作,并已经松开了鼠标按钮
2. HIWORD(wParam) 得到用户松开鼠标按键时滑块的最终位置
SB_THUMBTRACK 1. 用户拖动滚动条滑块触发此消息
2. 此消息被重复发送,直到用户松开鼠标按钮
3. HIWORD(wParam) 得到用户拖动滑块的当前位置


lParam:如果该参数等于 0,说明它是标准的窗口滚动条;如果该参数等于滚动条窗口句柄,说明它是滚动条控件。


返回值:

1. 如果窗口过程响应该消息,必须返回 0。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

WinSDK

dongfang 发表于 2014-8-3 11:44:45

此消息也适用于触发垂直滚动条控件。
------------------------------
应该是水平滚动条控件吧~~

谦虚求学 发表于 2016-10-24 12:06:38

好复杂
页: [1]
查看完整版本: WM_HSCROLL 消息