Sdílet prostřednictvím


Gewusst wie: Auffangen von Windows Forms-Ereignissen aus systemeigenen C++-Klassen

Aktualisiert: November 2007

Systemeigene C++-Klassen sind in der Lage, Rückrufe von verwalteteten Ereignissen zu empfangen, die von Windows Forms-Steuerelementen oder anderen Formularen mit dem MFC-Makrozuordnungsformat stammen. Das Auffangen von Ereignissen in Anzeigen und Dialogfeldern entspricht der Vorgehensweise bei Steuerelementen.

Verfahren Sie dazu wie folgt:

Beispiel

In diesem Beispiel wird die Arbeit aus Gewusst wie: DDX-/DDV-Datenbindung mit Windows Forms fortgesetzt.

Nun verknüpfen Sie Ihr MFC-Steuerelement (m_MyControl) mit einem verwalteten Ereignishandlerdelegaten mit dem Namen OnClick für das verwaltete Click-Ereignis.

Fügen Sie der Implementierung von BOOL CMFC01Dlg::OnInitDialog die erste Codezeile hinzu.

Fügen Sie der Deklaration der CMFC01Dlg : public CDialog-Klasse im öffentlichen Abschnitt die Delegatzuordnung und die OnClick-Definition hinzu.

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

Siehe auch

Referenz

MAKE_DELEGATE

BEGIN_DELEGATE_MAP

END_DELEGATE_MAP

EVENT_DELEGATE_ENTRY