Tworzenie interfejsu klawiatury dla standardowego paska przewijania

Mimo że formant pasek przewijania udostępnia interfejs klawiatury wbudowanej, pasek przewijania standardowe nie. Aby zaimplementować interfejsu klawiatury dla paska przewijania standardowe, procedurę okna musi przetworzyć wiadomość WM_KEYDOWN i sprawdzić kod klucza wirtualnego określonej przez parametr wParam . Jeśli kod klucza wirtualnego odpowiada klawisz strzałki, procedurę okna wysyła sam WM_HSCROLL lub WM_VSCROLL wiadomość programu word bity parametru wParam , ustawiony na pasku przewijania odpowiednie powiadomienie. Na przykład gdy użytkownik naciśnie klawisz Strzałka w górę, procedurę okna odbiera wiadomość WM_KEYDOWN z wParam równa VK_UP. W odpowiedzi procedurę okna wysyła sama wiadomość WM_VSCROLL programu word bity wParam ustawiony na powiadomienie SB_LINEUP.

Poniższy przykład ilustruje sposób włączenie interfejsu klawiatury dla paska przewijania standardowy.

Program WORD wScrollNotify = 0xFFFF; 
 
Sprawa WM_KEYDOWN: przełącznik (wParam) {Sprawa VK_UP: wScrollNotify = SB_LINEUP; 
            podział; 
 
        Sprawa VK_PRIOR: wScrollNotify = SB_PAGEUP; 
            podział; 
 
        Sprawa VK_NEXT: wScrollNotify = SB_PAGEDOWN; 
            podział; 
 
        Sprawa VK_DOWN: wScrollNotify = SB_LINEDOWN; 
            podział; 
 
        Sprawa VK_HOME: wScrollNotify = SB_TOP; 
            podział; 
 
        Sprawa VK_END: wScrollNotify = SB_BOTTOM; 
            podział; 
    } Jeśli (wScrollNotify! = -1) SendMessage (hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L); 
 
    podział 

 

Index