滑块通知消息

滑块控件通过发送父级 WM_HSCROLL 或 WM_VSCROLL 消息将用户操作通知给其父窗口,具体取决于滑块控件的方向。 要处理这些消息,请将 WM_HSCROLL 和 WM_VSCROLL 消息的处理程序添加到父窗口。 将向 OnHScrollOnVScroll 成员函数传递通知代码、滑块位置和指向 CSliderCtrl 对象的指针。 请注意,即使指针指向 CSliderCtrl 对象,指针的类型也是 CScrollBar *。 如果需要操作滑块控件,可能需要转换此指针的类型。

滑块控件不使用滚动条通知代码,而是发送一组不同的通知代码。 仅当用户使用键盘与滑块控件交互时,滑块控件才会发送 TB_BOTTOM、TB_LINEDOWN、TB_LINEUP 和 TB_TOP 通知代码。 仅当用户使用鼠标时,才会发送 TB_THUMBPOSITION 和 TB_THUMBTRACK 通知消息。 在这两种情况下,都会发送 TB_ENDTRACK、TB_PAGEDOWN 和 TB_PAGEUP 通知代码。

下表列出了滑块控件通知消息和导致发送通知的事件(虚拟键代码或鼠标事件)。 (有关标准虚拟键代码的列表,请参见 Winuser.h。)

通知消息 导致发送通知的事件
TB_BOTTOM VK_END
TB_ENDTRACK WM_KEYUP(用户发布了发送相关虚拟键代码的键)
TB_LINEDOWN VK_RIGHT 或 VK_DOWN
TB_LINEUP VK_LEFT 或 VK_UP
TB_PAGEDOWN VK_NEXT(用户单击了滑块下方或右侧的通道)
TB_PAGEUP VK_NEXT(用户单击了滑块上方或左侧的通道)
TB_THUMBPOSITION WM_LBUTTONUP,采用 TB_THUMBTRACK 通知消息
TB_THUMBTRACK 滑块移动(用户拖动了滑块)
TB_TOP VK_HOME

另请参阅

使用 CSliderCtrl
控件