如何:呼叫 Windows Form 控制項的屬性和方法
因為 CWinFormsView::GetControl 傳回 Control 的指標,而不是傳回 WindowsControlLibrary1::UserControl1 的指標,建議加入使用者控制項型別的成員,並在 IView::OnInitialUpdate 中初始化。 現在,您可以使用 m_ViewControl 呼叫方法和屬性。
本主題假設您先前已完成 如何:建立使用者控制項並裝載至對話方塊中和 如何:建立使用者控制項並裝載 MDI 檢視。
若要建立 MFC 主應用程式
開啟您在 如何:建立使用者控制項並裝載 MDI 檢視建立的 MFC 應用程式。
將下面程式碼行加入到 MFC02View.h 中 CMFC02View 類別宣告的 public overrides 區段。
gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
加入 OnInitialupdate 的覆寫。
顯示 [屬性] 視窗 (F4)。 在 [類別檢視] (CTRL+SHIFT+C) 中選取 CMFC02View 類別。 在 [屬性] 視窗中,選取覆寫的圖示。 向下捲動清單,一直到 OnInitialUpdate, 按一下下拉式清單,然後選取 <加入>。 在MFC02View.cpp中,確定 OnInitialUpdate 函式的主體如下所示:
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
建置及執行專案。
在 [建置] 功能表上,按一下 [建置方案]。
在 [偵錯] 功能表上,按一下 [啟動但不偵錯]。
請注意,現在已經將文字方塊初始化。