共用方式為


如何處理追蹤列通知訊息

追蹤列會傳送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訊息時使用此函式。

使用追蹤列控件