slider 控件通过发送父 WM_HSCROLL 或 WM_VSCROLL 信息通知其父窗口用户操作,根据滑块控件的方向。处理这些消息,添加 WM_HSCROLL 和 WM_VSCROLL 消息的处理程序添加到父窗口。OnHScroll 和 OnVScroll 成员函数将通过通知代码、滑块的位置和指向 CSliderCtrl 对象。请注意指针为类型 CScrollBar * ,即使它指向 CSliderCtrl 对象。,如果需要操作滑块控件,您可能需要转换此指针。
使用滚动条通知代码,而不是,滑块控件发送一组不同的通知代码。slider 控件发送 TB_BOTTOM, TB_LINEDOWN, TB_LINEUP,并且, TB_TOP 通知代码使用键盘时,只有当用户与 slider 控件交互。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_PRIOR (用户单击通道在或滑块左侧教程) |
TB_THUMBPOSITION |
WM_LBUTTONUP 在 TB_THUMBTRACK 通知消息之后 |
TB_THUMBTRACK |
滑块移动 (用户拖动的滑块) |
TB_TOP |
VK_HOME |