如何处理跟踪条通知消息
跟踪条通过向父窗口发送 WM_HSCROLL 或 WM_VSCROLL 消息来通知父窗口的用户操作。
需要了解的事项
技术
先决条件
- C/C++
- Windows 用户界面编程
说明
处理跟踪条通知消息
以下代码示例是当跟踪条的父窗口收到 WM_HSCROLL 消息时调用的函数。 此示例中的跟踪条采用了 TBS_ENABLESELRANGE 样式。 将滑块的位置与选择范围进行比较,并在必要时将滑块移动到选择范围的起始或终止位置。
// TBNotifications - handles trackbar notifications received
// in the wParam parameter of WM_HSCROLL. This function simply
// ensures that the slider remains within the selection range.
VOID WINAPI TBNotifications(
WPARAM wParam, // wParam of WM_HSCROLL message
HWND hwndTrack, // handle of trackbar window
UINT iSelMin, // minimum value of trackbar selection
UINT iSelMax) // maximum value of trackbar selection
{
DWORD dwPos; // current position of slider
switch (LOWORD(wParam)) {
case TB_ENDTRACK:
dwPos = SendMessage(hwndTrack, TBM_GETPOS, 0, 0);
if (dwPos > iSelMax)
SendMessage(hwndTrack, TBM_SETPOS,
(WPARAM) TRUE, // redraw flag
(LPARAM) iSelMax);
else if (dwPos < iSelMin)
SendMessage(hwndTrack, TBM_SETPOS,
(WPARAM) TRUE, // redraw flag
(LPARAM) iSelMin);
break;
default:
break;
}
}
注解
包含 TBS_VERT 样式跟踪条的对话框可在收到 WM_VSCROLL 消息时使用此函数。
相关主题