Erstellen einer Tastaturschnittstelle für eine Standard-Bildlaufleiste

Obwohl ein Bildlaufleisten-Steuerelement eine integrierte Tastatur-Schnittstelle bietet, eine standard-Bildlaufleiste nicht. Um eine tastaturgesteuerte Benutzeroberfläche für eine standard-Bildlaufleiste zu implementieren, muss eine Fensterprozedur die WM_KEYDOWN Nachricht verarbeiten und prüfen den virtuelle Tastencode der wParam -Parameter angegebenen. Wenn der virtuelle Tastencode eine Pfeiltaste entspricht, sendet die Fensterprozedur selbst eine WM_HSCROLL oder WM_VSCROLL Nachricht mit das niedrige Word des wParam -Parameters auf die entsprechenden Scroll Bar-Nachricht festgelegt. Z. B. wenn der Benutzer die Pfeiltaste drückt, empfängt die Fensterprozedur eine WM_KEYDOWN-Meldung mit wParam gleich VK_UP. Als Antwort sendet die Fensterprozedur selbst eine WM_VSCROLL Nachricht mit dem niederwertigen Wort von wParam legen Sie auf der SB_LINEUP-Benachrichtigung.

Das folgende Beispiel veranschaulicht eine tastaturgesteuerte Benutzeroberfläche für standard-Bildlaufleisten Bar enthalten.

Wort wScrollNotify = 0xFFFF; 
 
Fall WM_KEYDOWN: Switch (wParam) {case VK_UP: wScrollNotify = SB_LINEUP; 
            brechen; 
 
        Case VK_PRIOR: wScrollNotify = SB_PAGEUP; 
            brechen; 
 
        Case VK_NEXT: wScrollNotify = SB_PAGEDOWN; 
            brechen; 
 
        VK_DOWN RS: wScrollNotify = SB_LINEDOWN; 
            brechen; 
 
        Case VK_HOME: wScrollNotify = SB_TOP; 
            brechen; 
 
        Case VK_END: wScrollNotify = SB_BOTTOM; 
            brechen; 
    } Wenn (wScrollNotify! =-1) SendMessage (Hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L); 
 
    Pause 

 

Index