De?i un control bară de defilare oferă o interfață tastatură încorporată, o bară de defilare standard does nu. Să pună în aplicare o interfață tastatură pentru o bară de defilare standard, o procedură de fereastra trebuie să proces mesajul WM_KEYDOWN ?i examinează codul virtual-cheie specificat de parametrul wParam . În cazul în care codul de virtual-cheie corespunde unei taste săgeată, procedura fereastra sine trimite un mesaj WM_HSCROLL sau WM_VSCROLL cu cuvântul low-ordine parametrul wParam setat la mesajul de notificare a bara de defilare corespunzătoare. De exemplu, atunci când utilizatorul apasă tasta săgeată sus, procedura fereastra primește un mesaj de WM_KEYDOWN cu wParam egală cu VK_UP. În răspuns, procedura fereastra sine trimite un mesaj WM_VSCROLL cu cuvântul low-ordine wParam setat la mesajul de notificare SB_LINEUP.
Următorul exemplu arată cum se includ o interfață tastatură pentru o bară de defilare standard.
WORD wScrollNotify = 0xFFFF;
WM_KEYDOWN de caz: switch (wParam) {VK_UP caz: wScrollNotify = SB_LINEUP;
pauză;
VK_PRIOR de caz: wScrollNotify = SB_PAGEUP;
pauză;
VK_NEXT de caz: wScrollNotify = SB_PAGEDOWN;
pauză;
VK_DOWN de caz: wScrollNotify = SB_LINEDOWN;
pauză;
VK_HOME de caz: wScrollNotify = SB_TOP;
pauză;
VK_END de caz: wScrollNotify = SB_BOTTOM;
pauză;
} Dacă (wScrollNotify! = -1) SendMessage (hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L);
pauză