Partilhar via


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

Confira também

Usando CSliderCtrl
Controles