Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Embora um controle de barra de rolagem forneça uma interface de teclado integrada, uma barra de rolagem padrão não. Para implementar uma interface de teclado para uma barra de rolagem padrão, um procedimento de janela deve processar a mensagem WM_KEYDOWN e examinar o código de chave virtual especificado pelo parâmetro wParam. Se o código da chave virtual corresponder a uma tecla de seta, o procedimento da janela enviará a si mesmo uma mensagem WM_HSCROLL ou WM_VSCROLL com a palavra de ordem baixa do parâmetro wParam definido para o código de solicitação de barra de rolagem apropriado.
Por exemplo, quando o usuário pressiona a tecla de seta para cima, o procedimento da janela recebe uma mensagem WM_KEYDOWN com wParam igual a VK_UP. Em resposta, o procedimento da janela envia a si mesmo uma mensagem de WM_VSCROLL com a palavra de ordem baixa de wParam definida para o código de solicitação SB_LINEUP.
O que precisa de saber
Tecnologias
Pré-requisitos
- C/C++
- Programação da interface do usuário do Windows
Instruções
Criar uma interface de teclado para uma barra de rolagem padrão
O exemplo de código a seguir demonstra como incluir uma interface de teclado para uma barra de rolagem padrão.
case WM_KEYDOWN:
{
WORD wScrollNotify = 0xFFFF;
switch (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;
}
if (wScrollNotify != -1)
SendMessage(hwnd, WM_VSCROLL, MAKELONG(wScrollNotify, 0), 0L);
break;
}
Tópicos relacionados