다음을 통해 공유


방법: 네이티브 C++ 클래스에서 Windows Forms 이벤트 싱크

업데이트: 2007년 11월

네이티브 C++ 클래스를 사용하면 Windows Forms 컨트롤이나 MFC 매크로 맵 형식의 다른 폼에서 발생한 관리되는 이벤트의 콜백을 받을 수 있습니다. 뷰와 대화 상자에서의 이벤트 싱크는 컨트롤에 대해 동일한 작업을 수행하는 경우와 비슷합니다.

이를 수행하려면 다음 작업이 필요합니다.

예제

이 샘플에서는 방법: Windows Forms에서 DDX/DDV 데이터 바인딩 수행에서 수행한 작업을 계속합니다.

이제 MFC 컨트롤(m_MyControl)을 관리되는 Click 이벤트에 대한 OnClick이라는 관리되는 이벤트 처리기 대리자에 연결합니다.

코드의 첫 번째 줄을 BOOL CMFC01Dlg::OnInitDialog 구현에 추가합니다.

대리자 맵과 OnClick 정의를 CMFC01Dlg : public CDialog 클래스 선언의 public 섹션에 추가합니다.

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

참고 항목

참조

MAKE_DELEGATE

BEGIN_DELEGATE_MAP

END_DELEGATE_MAP

EVENT_DELEGATE_ENTRY