Come limitare lo spostamento del dispositivo di scorrimento

Come descritto in informazioni sui controlli TrackBar, è possibile impostare parte dell'intervallo TrackBar come intervallo di selezione. Uno degli scopi di un intervallo di selezione potrebbe essere quello di limitare lo spostamento del dispositivo di scorrimento, facendo in modo che alcune parti dell'intervallo completo non superino i limiti.

Informazioni importanti

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Istruzioni

Limita movimento dispositivo di scorrimento

Il codice di esempio seguente limita lo spostamento del dispositivo di scorrimento reimpostando la posizione del dispositivo di scorrimento ogni volta che viene spostato al di fuori dell'intervallo di selezione.

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

Commenti

Questo frammento di codice fa parte di una procedura della finestra di dialogo.

Uso di controlli TrackBar