Come limitare lo spostamento del dispositivo di scorrimento

Come descritto in Informazioni sui controlli trackbar, è possibile impostare parte dell'intervallo della barra di avanzamento come intervallo di selezione. Uno scopo di un intervallo di selezione potrebbe essere limitare lo spostamento del dispositivo di scorrimento, rendendo alcune parti dell'intervallo completo fuori 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 all'esterno 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 della routine finestra di una finestra di dialogo.

Uso dei controlli Trackbar