次の方法で共有


トラックバー通知メッセージを処理する方法

トラックバーは、親に 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 メッセージを取得時に、この関数を使用できます。

トラックバー コントロールの使用