Freigeben über


Erstellen einer Tastaturschnittstelle für Standard-Bildlaufleisten

Obwohl ein Bildlaufleistensteuerelement eine integrierte Tastaturschnittstelle bietet, ist dies bei einer Standard-Scrollleiste nicht der Fall. Um eine Tastaturschnittstelle für eine Standardlaufleiste zu implementieren, muss eine Fensterprozedur die WM_KEYDOWN Nachricht verarbeiten und den durch den wParam-Parameter angegebenen Virtuellen Schlüsselcode untersuchen. Wenn der Code des virtuellen Schlüssels einer Pfeiltaste entspricht, sendet die Fensterprozedur selbst eine WM_HSCROLL oder WM_VSCROLL Nachricht, wobei das Wort mit niedriger Reihenfolge des wParam-Parameters auf den entsprechenden Anforderungscode für die Scrollleiste festgelegt ist.

Wenn der Benutzer beispielsweise die NACH-OBEN-TASTE drückt, erhält die Fensterprozedur eine WM_KEYDOWN Nachricht mit wParam gleich VK_UP. Als Antwort sendet die Fensterprozedur selbst eine WM_VSCROLL Nachricht, wobei das Wort mit niedriger Reihenfolge von wParam auf den SB_LINEUP Anforderungscode festgelegt ist.

Wichtige Informationen

Technologien

Voraussetzungen

  • C/C++
  • Programmierung der Windows-Benutzeroberfläche

Anweisungen

Erstellen einer Tastaturschnittstelle für eine Standardlaufleiste

Im folgenden Codebeispiel wird veranschaulicht, wie eine Tastaturschnittstelle für eine Standardlaufleiste eingeschlossen wird.

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

Verwenden von Bildlaufleisten

Demo allgemeiner Windows-Steuerelemente (CppWindowsCommonControls)