以下示例是每当包含跟踪栏的对话框收到WM_HSCROLL消息时调用的函数。轨迹栏具有TBS_ENABLESELRANGE样式。将滑块的位置与选择范围进行比较,必要时将滑块移动到选择范围的开始或结束位置。
包含具有TBS_VERT样式的跟踪栏的对话框可以在收到WM_VSCROLL消息时使用此函数。
// TBNotifications - 处理收到的跟踪栏通知
//在WM_HSCROLL的wParam参数中。这个功能简单
//确保滑块保持在选择范围内。
VOID WINAPI TBNotifications(
WPARAM wParam, // wParam的WM_HSCROLL消息
HWND hwndTrack, //跟踪栏窗口的句柄
UINT iSelMin, //跟踪栏选择的最小值
UINT iSelMax) // trackbar选择的最大值
{
DWORD dwPos; //滑块的当前位置
开关(LOWORD(wParam)){
case TB_ENDTRACK:
dwPos = SendMessage(hwndTrack, TBM_GETPOS, 0, 0);
如果(dwPos > iSelMax)fy
SendMessage函数(hwndTrack,TBM_SETPOS,pt
(WPARAM) TRUE, //重绘旗帜
(LPARAM) iSelMax);
else if(dwPos < iSelMin)
SendMessage函数(hwndTrack,TBM_SETPOS,pt
(WPARAM) TRUE, //重绘旗帜
(LPARAM) iSelMin);
break;
默认:
break;
}
}