Comment : recevoir des événements Windows Forms de classes C++ natives

Mise à jour : novembre 2007

Vous pouvez permettre aux classes C++ natives de recevoir des rappels d'événements managés déclenchés à partir de contrôles Windows Forms ou d'autres formulaires avec le format de mappage de macro MFC. La réception des événements dans les vues et les dialogues est similaire à l'exécution de la même tâche pour les contrôles.

Pour cela, vous devez :

Exemple

Cet exemple continue les tâches que vous avez effectuées dans Comment : établir la liaison des données DDX/DDV avec Windows Forms.

Vous allez maintenant associer votre contrôle MFC (m_MyControl) à un délégué de gestionnaires d'événements managé appelé OnClick pour l'événement Click managé.

Ajoutez la première ligne de code à l'implémentation de BOOL CMFC01Dlg::OnInitDialog.

Ajoutez le mappage de délégué et la définition OnClick à la section publique de la déclaration de classe CMFC01Dlg : CDialog publique.

m_MyControl.GetControl()->button1->Click += MAKE_DELEGATE( System::EventHandler, OnClick );

// 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 ) {}

Voir aussi

Référence

MAKE_DELEGATE

BEGIN_DELEGATE_MAP

END_DELEGATE_MAP

EVENT_DELEGATE_ENTRY