Come creare un'interfaccia della tastiera per le barre di scorrimento standard

Anche se un controllo barra di scorrimento fornisce un'interfaccia di tastiera predefinita, non esiste una barra di scorrimento standard. Per implementare un'interfaccia della tastiera per una barra di scorrimento standard, una routine della finestra deve elaborare il messaggio WM_KEYDOWN ed esaminare il codice della chiave virtuale specificato dal parametro wParam. Se il codice della chiave virtuale corrisponde a un tasto freccia, la routine della finestra invia a se stessa un messaggio WM_HSCROLL o WM_VSCROLL con la parola in ordine inferiore del parametro wParam impostato sul codice di richiesta della barra di scorrimento appropriato.

Ad esempio, quando l'utente preme il tasto freccia SU, la routine della finestra riceve un messaggio di WM_KEYDOWN con wParam uguale a VK_UP. In risposta, la routine della finestra invia a se stessa un messaggio di WM_VSCROLL con la parola in ordine basso di wParam impostata sul codice della richiesta SB_LINEUP.

Informazioni importanti

Tecnologie

Prerequisiti

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

Istruzioni

Creare un'interfaccia della tastiera per una barra di scorrimento standard

Nell'esempio di codice seguente viene illustrato come includere un'interfaccia della tastiera per una barra di scorrimento standard.

    case WM_KEYDOWN: 
    {
        WORD wScrollNotify = 0xFFFF;

        switch (wParam) 
        { 
            case VK_UP: 
                wScrollNotify = SB_LINEUP; 
                break; 
 
            case VK_PRIOR: 
                wScrollNotify = SB_PAGEUP; 
                break; 
 
            case VK_NEXT: 
                wScrollNotify = SB_PAGEDOWN; 
                break; 
 
            case VK_DOWN: 
                wScrollNotify = SB_LINEDOWN; 
                break; 
 
            case VK_HOME: 
                wScrollNotify = SB_TOP; 
                break; 
 
            case VK_END: 
                wScrollNotify = SB_BOTTOM; 
                break; 
        } 
 
        if (wScrollNotify != -1) 
            SendMessage(hwnd, WM_VSCROLL, MAKELONG(wScrollNotify, 0), 0L); 
 
        break; 
    }

Uso delle barre di scorrimento

Demo dei controlli comuni di Windows (CppWindowsCommonControls)