Visual C++ 概念:添加功能
滑块通知消息
滑块控件 (Slider Control) 通过向父窗口发送 WM_HSCROLL 或 WM_VSCROLL 消息(取决于滑块控件 (Slider Control) 的方向),将用户操作通知其父窗口。若要处理这些消息,请将 WM_HSCROLL 和 WM_VSCROLL 消息的处理程序添加到父窗口。将向 OnHScroll 和 OnVScroll 成员函数传递通知代码、滑块的位置和指向 CSliderCtrl 对象的指针。注意指针的类型为 CScrollBar *,即使它指向 CSliderCtrl 对象。若要操作滑块控件 (Slider Control),可能需要转换该指针的类型。
滑块控件 (Slider Control) 不是使用滚动条通知代码,而是发送不同的通知代码集。只有当用户使用键盘与滑块控件 (Slider Control) 交互时,滑块控件 (Slider Control) 才发送 TB_BOTTOM、TB_LINEDOWN、TB_LINEUP 和 TB_TOP 通知代码。只有当用户使用鼠标时才发送 TB_THUMBPOSITION 和 TB_THUMBTRACK 通知消息。在两种情况下都发送 TB_ENDTRACK、TB_PAGEDOWN 和 TB_PAGEUP 通知代码。
下表列出了滑块控件 (Slider Control) 通知消息和导致发送通知的事件(虚键控代码和鼠标事件)。(有关标准虚键控代码的列表,请参见 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