スライダーの動きを制限する方法

トラック バーコントロールについてで説明したように、トラックバー範囲の一部を選択範囲としてオフに設定できます。 選択範囲の 1 つの目的は、スライダーの動きを制限し、完全な範囲の一部を制限外にすることです。

知っておくべきこと

テクノロジ

前提条件

  • C/C++
  • Windows ユーザー インターフェイスプログラミング

手順

スライダーの動きを制限する

次のコード例では、スライダーが選択範囲の外側に移動されるたびにスライダーの位置をリセットすることで、スライダーの動きを制限します。

case WM_HSCROLL:
    {
        HWND hTrackbar = GetDlgItem(hDlg, IDC_SLIDER1);
        
        if (hTrackbar == (HWND)lParam)
        {
            int newPos    = SendMessage(hTrackbar, TBM_GETPOS, 0, 0);
            int selStart  = SendMessage(hTrackbar, TBM_GETSELSTART, 0, 0);
            int selEnd    = SendMessage(hTrackbar, TBM_GETSELEND, 0, 0);
            
            if (newPos > selEnd)
            {
                SendMessage(hTrackbar, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)selEnd);
            }
            
            else if (newPos < selStart)
            {
                SendMessage(hTrackbar, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)selStart);
            }
        }
        
        break;
    }

解説

このコード スニペットは、ダイアログ ボックスのウィンドウ プロシージャの一部です。

Trackbar コントロールの使用