Een Keyboard-Interface voor een schuifbalk standaard maken

Hoewel een scroll bar control een ingebouwde toetsenbord interface biedt, niet een standaard schuifbalk. U implementeert een toetsenbord-interface voor een standaard schuifbalk, moet een procedure venster verwerken het bericht WM_KEYDOWN en de virtuele-sleutel code opgegeven door de parameter wParam te onderzoeken. Als de virtuele-sleutel code komt overeen met een pijltoets, signaal de venster-procedure zelf een WM_HSCROLL of WM_VSCROLL met het woord van lagere orde van de wParam -parameter ingesteld op de juiste scroll bar melding. Bijvoorbeeld, wanneer de gebruiker op de pijl omhoog, ontvangt de venster-procedure een bericht van de WM_KEYDOWN met wParam gelijk aan VK_UP. In reactie boodschap de venster-procedure zelf een WM_VSCROLL met het woord van de lage-orde van wParam ingesteld op de melding SB_LINEUP.

Het volgende voorbeeld ziet u hoe een toetsenbord-interface voor een standaard schuifbalk omvatten.

WORD wScrollNotify = 0xFFFF; 
 
Case WM_KEYDOWN: switch (wParam) {VK_UP geval: wScrollNotify = SB_LINEUP; 
            breken; 
 
        Case VK_PRIOR: wScrollNotify = SB_PAGEUP; 
            breken; 
 
        Case VK_NEXT: wScrollNotify = SB_PAGEDOWN; 
            breken; 
 
        Case VK_DOWN: wScrollNotify = SB_LINEDOWN; 
            breken; 
 
        Case VK_HOME: wScrollNotify = SB_TOP; 
            breken; 
 
        Case VK_END: wScrollNotify = SB_BOTTOM; 
            breken; 
    } Als (wScrollNotify! = -1) SendMessage (hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L); 
 
    pauze 
 

Index