Sdílet prostřednictvím


Postupy: Zpracování událostí modelu Windows Forms z nativních tříd jazyka C++

Nativní třídy C++ můžete povolit, aby přijímaly zpětná volání ze spravovaných událostí vyvolaných z ovládacích prvků model Windows Forms nebo jiných formulářů s formátem mapování maker MFC. Události jímky v zobrazeních a dialogech se podobají stejnému úkolu ovládacích prvků.

Budete muset:

Tato ukázka pokračuje v práci, kterou jste provedli v části Postupy: Vytvoření datové vazby DDX/DDV s model Windows Forms.

Teď přidružíte ovládací prvek MFC (m_MyControl) k delegátu obslužné rutiny spravované události volanou OnClick pro spravovanou Click událost.

Připojení obslužné rutiny události OnClick:

  1. Do implementace BOOL CMFC01Dlg::OnInitDialog přidejte následující kód:

    m_MyControl.GetControl()->button1->Click += MAKE_DELEGATE( System::EventHandler, OnClick );
    
  2. Do veřejné části v deklaraci třídy CMFC01Dlg : public CDialog přidejte následující kód.

    // 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 );
    
  3. Nakonec přidejte implementaci OnClick pro CMFC01Dlg.cpp:

    void CMFC01Dlg::OnClick(System::Object^ sender, System::EventArgs^ e)
    {
        AfxMessageBox(_T("Button clicked"));
    }
    

Viz také

MAKE_DELEGATE
BEGIN_DELEGATE_MAP
END_DELEGATE_MAP
EVENT_DELEGATE_ENTRY