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.
Você pode habilitar classes C++ nativas para receber retornos de chamada de eventos gerenciados gerados a partir de controles Windows Forms ou outros formulários com o formato de mapa de macro MFC. Ocultar eventos em modos de exibição e caixas de diálogo é semelhante a fazer a mesma tarefa para controles.
Para efetuar este procedimento, tem de:
Anexe um
OnClickmanipulador de eventos ao controle usando MAKE_DELEGATE.Crie um mapa de representante usando BEGIN_DELEGATE_MAP, END_DELEGATE_MAP e EVENT_DELEGATE_ENTRY.
Este exemplo continua o trabalho que você fez em Como: Fazer vinculação de dados DDX/DDV com Windows Forms.
Agora, você associará seu controle MFC (m_MyControl) a um delegado do manipulador de eventos gerenciado chamado OnClick para o evento gerenciado Click .
Para anexar o manipulador de eventos OnClick
Adicione o seguinte código à implementação de BOOL CMFC01Dlg::OnInitDialog:
m_MyControl.GetControl()->button1->Click += MAKE_DELEGATE( System::EventHandler, OnClick );Adicione o seguinte código à seção pública na declaração da classe CMFC01Dlg : public CDialog.
// delegate map BEGIN_DELEGATE_MAP( CMFC01Dlg ) EVENT_DELEGATE_ENTRY( OnClick, System::Object^, System::EventArgs^ ) END_DELEGATE_MAP() void OnClick( System::Object^ sender, System::EventArgs^ e );Finalmente, adicione a implementação para
OnClick: CMFC01Dlg.cpp:void CMFC01Dlg::OnClick(System::Object^ sender, System::EventArgs^ e) { AfxMessageBox(_T("Button clicked")); }
Ver também
MAKE_DELEGATE
BEGIN_DELEGATE_MAP
END_DELEGATE_MAP
EVENT_DELEGATE_ENTRY