Criando uma Interface de teclado para um barra de rolagem padrão

Embora um controle de barra de rolagem fornece uma interface de teclado incorporados, não uma padrão barra de rolagem. Para implementar uma interface de teclado para uma padrão barra de rolagem, um procedimento janela deve processo a mensagem WM_KEYDOWN e examinar o código de chave virtual especificado pelo parâmetro wParam . Se o código de chave virtual corresponde a uma tecla de seta, o procedimento janela envia a mesmo uma mensagem WM_HSCROLL ou WM_VSCROLL com a palavra de ordem inferior do parâmetro wParam definido para a mensagem de notificação de barra de rolagem apropriada. Por exemplo, quando o usuário pressiona a tecla de seta para cima, o procedimento janela recebe uma mensagem WM_KEYDOWN com wParam igual a VK_UP. Em resposta, o procedimento janela envia a mesmo uma mensagem WM_VSCROLL com o baixo palavra de ordem wParam definido para a mensagem de notificação SB_LINEUP.

O exemplo a seguir mostra como incluir uma interface de teclado para uma padrão barra de rolagem.

WORD wScrollNotify = 0xFFFF; 
 
caso WM_KEYDOWN: interruptor (wParam) {case VK_UP: wScrollNotify = SB_LINEUP; 
            quebra; 
 
        VK_PRIOR de caso: wScrollNotify = SB_PAGEUP; 
            quebra; 
 
        VK_NEXT de caso: wScrollNotify = SB_PAGEDOWN; 
            quebra; 
 
        caso VK_DOWN: wScrollNotify = SB_LINEDOWN; 
            quebra; 
 
        caso VK_HOME: wScrollNotify = SB_TOP; 
            quebra; 
 
        VK_END de caso: wScrollNotify = SB_BOTTOM; 
            quebra; 
    } se (wScrollNotify! = -1) SendMessage (hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L); 
 
    quebra 

 

Index