共用方式為


HOW TO:建立使用者控制項並裝載 MDI 檢視

更新:2007 年 11 月

下列程序說明如何建立 .NET Frameworks 使用者控制項、在控制項類別程式庫中撰寫使用者控制項 (特別是 Windows 控制項程式庫專案),然後將專案編譯至組件。然後您將會從 MFC 應用程式使用控制項,而此控制項則是使用衍生自 CView ClassCWinFormsView Class 的類別。

如需如何建立 Windows Form 使用者控制項以及撰寫控制項類別程式庫的詳細資訊,請參閱 HOW TO:撰寫使用者控制項

注意事項:

在某些情況下,當 WinForms 控制項 (例如協力廠商的方格控制項) 裝載於 MFC 應用程式中時,可能無法正常運作。建議的解決方法是將 Windows Form 使用者控制項放置在 MFC 應用程式中,然後將協力廠商的方格控制項放置在使用者控制項中。

HOW TO:建立使用者控制項並裝載至對話方塊中的程序所示,此程序假設您已建立名為 WindowsControlLibrary1 的 Windows Form 控制項程式庫專案。

若要建立 MFC 主應用程式

  1. 建立新的 MFC 應用程式專案。

    在 [檔案] 功能表上,選取 [新增],然後再按一下 [專案]。在 [Visual C++] 資料夾中,選取 [MFC 應用程式]。

    在 [名稱] 方塊中,輸入 [MFC02],並且將方案設定變更為 [加入至方案]。按一下 [確定]。

    在 [MFC 應用程式精靈] 中,接受所有預設值,然後按一下 [完成]。這樣便會建立具備多重文件介面 (MDI) 的 MFC 應用程式。

  2. 設定專案。

    在 [方案總管] 中以滑鼠右鍵按一下 [MFC02] 方案節點,然後從內容功能表中選取 [屬性]。[屬性頁] 對話方塊便會出現。

    在 [屬性頁] 對話方塊的 [組態屬性] 樹狀控制項中,選取 [一般],然後在 [專案預設值] 區段中,將 [Common Language Runtime 支援] 設定為 [Common Language Runtime 支援 (/clr)]。按一下 [確定]。

  3. 將參考加入至 .NET 控制項。

    在 [方案總管] 中,以滑鼠右鍵按一下 [MFC02] 專案節點,並且選取 [參考]。在 [屬性頁] 中,按一下 [加入新參考],選取 [WindowsControlLibrary1] (在 [專案] 索引標籤下),然後按一下 [確定]。這樣便會將參考加入至 /FU 編譯器選項的表單中,所以程式將會編譯;也會將 WindowsControlLibrary1.dll 複製到 MFC02 專案目錄,所以程式將會執行。

  4. 在 stdafx.h 中尋找此行:

    #endif // _AFX_NO_AFXCMN_SUPPORT 
    

    將這些行加入至那行上面:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  5. 修改檢視類別,使其繼承 CWinFormsView

    在 MFC02View.h 中,以 CWinFormsView 取代 CView,使程式碼看起來如下所示:

    class CMFC02View : public CWinFormsView
    {
    };
    

    如果要將其他檢視加入至 MDI 應用程式,則需要針對每個建立的檢視呼叫 CWinApp::AddDocTemplate

  6. 修改 MFC02View.cpp 檔,將 IMPLEMENT_DYNCREATE 巨集和訊息對應 (Message Map) 中的 CView 變更為 CWinFormsView,並且以下列顯示的建構函式 (Constructor) 取代現有之空的建構函式:

    IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView)
    
    CMFC02View::CMFC02View(): CWinFormsView(WindowsControlLibrary1::UserControl1::typeid) 
    {
    }
    BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView)
    //leave existing body as is
    END_MESSAGE_MAP()
    
  7. 建置及執行專案。

    在 [方案總管] 中,以滑鼠右鍵按一下 [MFC02],並按一下 [設定為啟始專案]。

    在 [建置] 功能表上,按一下 [建置方案]。

    在 [偵錯] 功能表上,按一下 [啟動但不偵錯]。

請參閱

其他資源

將 Windows Form 使用者控制項裝載為 MFC 檢視