Opprette et tastatur-grensesnitt for et Standard rullefelt

Selv om en kontroll over rullingen bar har en innebygd tastatur-grensesnitt, gjør en standard rullefeltet ikke. Hvis du vil implementere et tastatur-grensesnitt for et standard rullefelt, må en vindusprosedyre behandle meldingen WM_KEYDOWN og undersøke virtual-key-koden som er angitt av parameteren wParam . Hvis koden virtual-key tilsvarer en piltast, sender vinduet fremgangsmåten seg selv en melding med signifikante ordet for parameteren wParam satt til riktig scroll bar-varslingsmelding WM_HSCROLL eller WM_VSCROLL . For eksempel når brukeren trykker piltasten opp, mottar fremgangsmåten vinduet en WM_KEYDOWN melding med wParam lik VK_UP. Som svar sender vinduet fremgangsmåten seg selv en WM_VSCROLL melding med signifikante ordet av wParam satt til varslingsmelding SB_LINEUP.

Følgende eksempel viser hvordan du inkluderer et tastatur-grensesnitt for et standard rullefelt.

WORD-wScrollNotify = 0xFFFF; 
 
Case WM_KEYDOWN: bryteren (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; 
    } Hvis (wScrollNotify! = -1) SendMessage (hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L); 
 
    pause 

 

Index