スライダー コントロールは、その向きに応じて親 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 |