Mensagens de notificação do controle deslizante
Um controle deslizante notifica as ações do usuário à janela pai enviando as mensagens pai de WM_HSCROLL ou WM_VSCROLL, a depender da orientação do controle deslizante. Para lidar com essas mensagens, adicione manipuladores para as mensagens WM_HSCROLL e WM_VSCROLL à janela pai. As funções membro OnHScroll e OnVScroll terão passados um código de notificação, a posição do controle deslizante e um ponteiro para o objeto CSliderCtrl. Observe que o ponteiro é do tipo CScrollBar *
, embora aponte para um objeto CSliderCtrl
. Pode ser necessário fazer a conversão do tipo desse ponteiro se você precisar manipular o controle deslizante.
Em vez de usar os códigos de notificação da barra de rolagem, os controles deslizantes enviam um conjunto diferente de códigos de notificação. Um controle deslizante envia os códigos de notificação TB_BOTTOM, TB_LINEDOWN, TB_LINEUP e TB_TOP somente quando o usuário interage com um controle deslizante usando o teclado. As mensagens de notificação TB_THUMBPOSITION e TB_THUMBTRACK são enviadas somente quando o usuário estiver usando o mouse. Os códigos de notificação TB_ENDTRACK, TB_PAGEDOWN e TB_PAGEUP são enviados em ambos os casos.
A tabela a seguir lista as mensagens de notificação de controle deslizante e os eventos (códigos de chave virtual ou eventos do mouse) que fazem com que as notificações sejam enviadas. (Para obter uma lista de códigos de tecla virtual padrão, consulte Winuser.h.)
Mensagem de notificação | Evento que faz com que a notificação seja enviada |
---|---|
TB_BOTTOM | VK_END |
TB_ENDTRACK | WM_KEYUP (o usuário liberou uma chave que enviou um código de chave virtual relevante) |
TB_LINEDOWN | VK_RIGHT ou VK_DOWN |
TB_LINEUP | VK_LEFT ou VK_UP |
TB_PAGEDOWN | VK_NEXT (o usuário clicou no canal abaixo ou à direita do controle deslizante) |
TB_PAGEUP | VK_PRIOR (o usuário clicou no canal acima ou à esquerda do controle deslizante) |
TB_THUMBPOSITION | WM_LBUTTONUP após uma mensagem de notificação TB_THUMBTRACK |
TB_THUMBTRACK | Movimento do controle deslizante (o usuário arrastou o controle deslizante) |
TB_TOP | VK_HOME |