如何處理追蹤列通知訊息
追蹤列會傳送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訊息時使用此函式。
相關主題