Freigeben über


Gewusst wie: Aufrufen von Ereignissen und Methoden des Windows Forms-Steuerelements

Da CWinFormsView::GetControl einen Zeiger zurückgibt System.Windows.Forms.Controlund nicht auf einen Zeiger WindowsControlLibrary1::UserControl1, empfiehlt es sich, ein Element des Benutzersteuerelementtyps hinzuzufügen und in IView::OnInitialUpdate zu initialisieren. Jetzt können Sie Methoden und Eigenschaften mithilfe von m_ViewControl.

In diesem Thema wird davon ausgegangen, dass Sie zuvor "How to: Create the User Control and Host" in a Dialog Box and How to: Create the User Control and Host MDI View abgeschlossen haben.

So erstellen Sie die MFC-Hostanwendung

  1. Öffnen Sie die MFC-Anwendung, die Sie in How to: Create the User Control and Host MDI View erstellt haben.

  2. Fügen Sie die folgende Zeile zum Abschnitt "Öffentliche Außerkraftsetzungen" der CMFC02View Klassendeklaration in MFC02View.h hinzu.

    gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;

  3. Fügen Sie eine Außerkraftsetzung für OnInitialupdate hinzu.

    Anzeigen des Eigenschaftenfensters (F4). Wählen Sie in der Klassenansicht (STRG+UMSCHALT+C) CMFC02View-Klasse aus. Wählen Sie im Eigenschaftenfenster das Symbol für Außerkraftsetzungen aus. Scoll down the list to OnInitialUpdate. Klicken Sie auf die Dropdownliste, und wählen Sie "Hinzufügen"> aus<. In MFC02View.cpp. Stellen Sie sicher, dass der Textkörper der OnInitialUpdate-Funktion wie folgt lautet:

    CWinFormsView::OnInitialUpdate();
    m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl());
    m_ViewControl->textBox1->Text = gcnew System::String("hi");
    
  4. Erstellen Sie das Projekt, und führen Sie es aus.

    Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Klicken Sie im Menü "Debuggen " auf "Start" ohne Debugging.

    Beachten Sie, dass das Textfeld jetzt initialisiert ist.

Siehe auch

Hosten eines Windows Forms-Benutzersteuerelements als MFC-Ansicht