CSplitButton::OnDropDown
Trata a notificação de BCN_DROPDOWN que o sistema envia quando um usuário clica na seta suspensa do controle de botão split atual.
afx_msg void OnDropDown(
NMHDR* pNMHDR,
LRESULT* pResult
);
Parâmetros
Parâmetro |
Descrição |
---|---|
[in] pNMHDR |
Ponteiro a estrutura de NMHDR que contém informações sobre a notificação de BCN_DROPDOWN . |
[out] pResult |
(Não usado; nenhum valor é retornado.) Valor de retorno de notificação de BCN_DROPDOWN . |
Requisitos
Cabeçalho: afxcmn.h
Este método é suportado em Windows Vista e posteriormente.
Os requisitos adicionais para o método são descritos em Criar requisitos de controles comuns do Windows Vista.
Comentários
Quando o usuário clica na seta suspensa em um controle de botão split, o sistema envia uma notificação de BCN_DROPDOWN , que o método de OnDropDown manipula.Em o entanto, o objeto de CSplitButton não encaminha a notificação de BCN_DROPDOWN ao controle que contém o controle de botão split.Portanto, o controle recipiente não pode suportar uma ação personalizada em resposta a notificação.
Para implementar uma ação personalizada que suporta de controle, use um objeto de CButton com um estilo de BS_SPLITBUTTON em vez de um objeto de CSplitButton .Implementar em um manipulador para notificação de BCN_DROPDOWN no objeto de CButton .Para mais informações, consulte Estilos de botão.
Para implementar uma ação personalizada que o controle de botão split próprio suporte, use reflexão de mensagem.Sua própria classe derivada da classe de CSplitButton e denominá-la, por exemplo, CMySplitButton.Adicione o mapa da seguinte mensagem ao seu aplicativo trate a notificação de BCN_DROPDOWN :
BEGIN_MESSAGE_MAP(CMySplitButton, CSplitButton)
ON_NOTIFY_REFLECT(BCN_DROPDOWN, &CMySplitButton::OnDropDown)
END_MESSAGE_MAP()