共用方式為


如何限制滑桿移動

如關於追蹤列控件中所述,可以將追蹤列範圍的一部分設定為選取範圍。 選取範圍的其中一個目的可能是限制滑桿的移動,使整個範圍的某些部分關閉限制。

您需要知道的事項

技術

必要條件

  • 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;
    }

備註

此代碼段會是對話框視窗程式的一部分。

使用追蹤列控件