Поделиться через


Практическое руководство. Получение событий Windows Forms из собственных классов C++

Обновлен: Ноябрь 2007

Можно активировать собственные классы C++ для получения обратного вызова из управляемых событий, зафиксированных в элементе управления Windows Forms или других формах с форматированием сопоставления макроса в библиотеке MFC. Получение событий в представлениях и диалоговых окнах аналогично выполнению задачи в элементах управления.

Чтобы выполнить это, придерживайтесь следующих инструкций.

Пример

Созданный пример продолжает работу, начатую примером в разделе Практическое руководство. Привязка данных DDX/DDV к элементам управления Windows Forms.

Теперь сопоставьте элемент управления библиотеки MFC (m_MyControl) с управляемым делегатом обработчика событий OnClick для управляемого события Click.

Добавьте первую строку кода в реализацию "BOOL CMFC01Dlg::OnInitDialog".

Добавьте сопоставление делегатов и определение OnClick в общий раздел объявления класса CMFC01Dlg : общий CDialog.

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