Ограничение перемещения ползунка

Как описано в разделе "О элементах управления Trackbar", можно настроить часть диапазона панели отслеживания в качестве диапазона выбора. Одной из целей диапазона выбора может быть ограничение перемещения ползунка, что делает некоторые части полного диапазона от ограничений.

Это важно знать

Технологии

Необходимые компоненты

  • C/C++
  • Программирование пользовательского интерфейса Windows

Instructions

Ограничение перемещения ползунка

В следующем примере кода ограничивается перемещение ползунка путем сброса положения ползунка при каждом перемещении за пределы диапазона выбора.

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