WinFormIntegration 範例:示範在 MFC 應用程式中裝載 WinForms 使用者控制項

更新:2007 年 11 月

這個範例示範如何將 WinForms 使用者控制項裝載為 MFC 應用程式中的對話方塊或檢視。

這個範例包含了三個 MFC 擴充 DLL、兩個 WinForms 使用者控制項以及一個 MFC MDI 主應用程式:

EXTDLL1:使用 CWinFormsView 將 WinFormUserControlView1 使用者控制項裝載為 MFC MDI 應用程式中的 CView 視窗。此外,也會使用命令傳送功能將訊息傳送至 WinForms 使用者控制項。

EXTDLL2:示範如何將 WinForms 使用者控制項裝載為現有 CView 視窗中的靜態控制項。

EXTDLL3:封裝可以在 MFC 對話方塊中裝載 WinForms 使用者控制項的不同方式,包括使用 CDialogCWinFormsDialog

WinFormUserControl1:是一個簡單的 WinForms 使用者控制項,加入了一些常見的控制項。

WinFormUserControlView1:是一個 WinForms 使用者控制項,會實作 Microsoft::VisualC::MFC::IViewMicrosoft::VisualC::MFC::ICommandTarget 介面以參與 MFC 命令傳送功能和 View 通知。這是一個基本的文字編輯器 (使用多行 .NET TextBox 控制項),會使用 MFC 來儲存及開啟檔案。

MFC04:這是 MFC MDI 主應用程式,會載入 MFC 擴充 DLL,將它們加入為不同的 MFC 文件樣板。

若要取得範例和指示以便進行安裝:

  • 按一下 Visual Studio [說明] 功能表上的 [範例]。

    如需詳細資訊,請參閱尋找範例檔案

  • 最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。

  • 您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。

若要建置和執行範例:

  1. 若要建置專案,只需開啟 MFC04.sln 然後選取 [建置] 功能表中的 [建置方案]。

  2. 若要執行不同的案例,請啟動應用程式,然後從 [檔案] 功能表中選取 [新增]。接著選取 CView、CFormView 或 Dialogs 樣板:

    1. CView 樣板會開啟含有可以編輯之 .NET 多行編輯方塊的 CWinFormsView。您也可以將此文字儲存為檔案,然後經由 MFC [儲存] 與 [開啟] 功能表項目將它再次載入。您可以經由選取 WinForms StatusStrip 中的 [儲存變更] 下拉按鈕,從 WinForms 內叫用 [儲存] 功能。選取 MFC [CViewCmds] -> [Command1] 功能表項目會更新 StatusStrip 中的文字,示範將 MFC 命令傳送至裝載的 WinForms 使用者控制項。

    2. CFormView 樣板和上面的 WinForms 使用者控制項一樣,只不過它是裝載在 CFormView 資源中。這個樣板只示範裝載程式碼,並沒有實作 [儲存] 和 [開啟] 功能。

    3. Dialogs 樣板是一個「檢視」,示範裝載於下列案例中的 WinForms 使用者控制項:在 CDialog 叫用的強制回應中、在 CDialog 叫用的非強制回應中、做為 CWinFormsDialog 叫用的強制回應,以及做為 CWinFormsDialog 叫用的非強制回應。CWinFormsDialog 範例示範將 MFC 函式連結至 WinForms 控制項事件,這些範例也示範了如何經由 CStringSystem::String^ 轉換運算子,將字串從 Managed 形式傳回原生 (Native) 形式。

需求

支援的作業系統:Windows Server 2003、Windows XP

請參閱

參考

MFC WinForms 範例