Windows 中的 Scroll Bar 控件

Scroll Bar 控件是一个很简单的控件,与他相关的属性,消息和函数都不是很多,总体来说是一个比较简单的控件。
Scroll Bar 只有两个重要的属性,一个就是他的滚动范围,另一个就是他的当前位置。

与 Scroll Bar 控件相关的消息有两个,以下是这些消息的说明:

// 点击 Vertical Scroll 时发送的消息
SB_VSCROLL

// 点击 Horizontal Scroll 时发送的消息
SB_HSCROLL

 

在处理这两个消息时,可以使用 wParam 参数的低字节来判断点击 ScrollBar 的哪个部位,当低字节是 SB_THUMBTRACK 或 SB_THUMBPOSITION 时,可以使用 wParam 的高字节来取得滚动方法当前的位置,以下是这些常量的说明:

// 点击了 Vertical Scroll 上面的箭头
SB_LINEUP

// 点击了 Horizontal Scroll 左边的箭头
SB_LINELEFT

// 点击了 Vertical Scroll 下面的箭头
SB_LINEDOWN

// 点击了 Horizontal Scroll 右边的箭头
SB_LINERIGHT

// 点击了 Vertical Scroll 上面的箭头与滚动方块之间的地方
SB_PAGEUP

// 点击了 Horizontal Scroll 左面的箭头与滚动方块之间的地方
SB_PAGELEFT

// 点击了 Vertical Scroll 下面的箭头与滚动方块之间的地方
SB_PAGEDOWN

// 点击 Horizontal Scroll 右边的箭头与滚动方块之间的地方时发送的消息
SB_PAGERIGHT

// 拖动滚动方块
SB_THUMBTRACK

// 停止拖动滚动方块
SB_THUMBPOSITION

// 滚动方块到了 Vertical Scroll 的顶端
SB_TOP

// 滚动方块到了 Horizontal Scroll 的最左边
SB_LEFT

// 滚动方块到了 Vertical Scroll 的最下面
SB_BOTTOM

// 滚动方块到了 Horizontal Scroll 的最右边
SB_RIGHT

// 在 Scroll Bar 控件上按下鼠标并放开了
SB_ENDSCROLL

相关的API函数:
SetScrollRange
SetScrollPos
GetScrollRange
GetScrollPos
上面四个函数是向后兼容提供的

SetScrollInfo
GetScrollInfo

在拖动滚动方块期间,不能使用 GetScrollPos 来取得当滚动方块的位置,只能使用 wParam 中的高字节或 GetScrollInfo 函数来取得滚动方块的位置,因为 wParam 高字节中只有16位,不能表示一个很大的数,所以一般使用 GetScrollInfo 来取得 Scroll Bar 的相关信息。

posted @ 2004-12-25 11:46  匡匡  阅读(631)  评论(0编辑  收藏  举报