スライダ コントロールの通知メッセージ
更新 : 2007 年 11 月
スライダ コントロールは、その向きに応じて親 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 |