スライダー コントロールの通知メッセージ

スライダーコントロールは、スライダーコントロールの向きに応じて親 WM_HSCROLL または WM_VSCROLL メッセージを送信することによって、ユーザー操作の親ウィンドウに通知します。 これらのメッセージを処理するには、WM_HSCROLL と WM_VSCROLL のメッセージのハンドラーを親ウィンドウに追加します。 OnHScroll および OnVScroll のメンバー関数には、通知コード、スライダーの位置、および CSliderCtrl オブジェクトへのポインターが渡されます。 ポインターは CSliderCtrl オブジェクトを指しているにもかかわらず、型 CScrollBar * であることに注意してください。 スライダー コントロールを操作する必要がある場合は、このポインターの型キャストが必要になることがあります。

スライダー コントロールは、スクロール バーの通知コードを使用するのではなく、異なる通知コードのセットを送信します。 スライダーコントロールは、ユーザーがキーボードを使用してスライダーコントロールを操作するときにのみ、TB_BOTTOM、TB_LINEDOWN、TB_LINEUP、および TB_TOP 通知コードを送信します。 TB_THUMBPOSITION および TB_THUMBTRACK 通知メッセージは、ユーザーがマウスを使用している場合にのみ送信されます。 どちらの場合も、TB_ENDTRACK、TB_PAGEDOWN、および TB_PAGEUP 通知コードが送信されます。

次の表に、通知が送信される原因となる、スライダー コントロールの通知メッセージとイベント (仮想キーコードまたはマウスイベント) を示します。 (標準の仮想キー コードの一覧については、Winuser.h に関するページを参照してください。)

通知メッセージ 通知が送信される原因となったイベント
TB_BOTTOM VK_END
TB_ENDTRACK WM_KEYUP (ユーザーは、関連する仮想キーコードを送信したキーを解放しました)
TB_LINEDOWN VK_RIGHT または VK_DOWN
TB_LINEUP VK_LEFT または VK_UP
TB_PAGEDOWN VK_NEXT (ユーザーがスライダーの下または右にあるチャネルをクリックした場合)
TB_PAGEUP VK_PRIOR (ユーザーがスライダーの上または左にあるチャネルをクリックした場合)
TB_THUMBPOSITION TB_THUMBTRACK 通知メッセージに続く WM_LBUTTONUP
TB_THUMBTRACK スライダーの移動 (ユーザーがスライダーをドラッグしました)
TB_TOP VK_HOME

関連項目

CSliderCtrl の使い方
コントロール