共用方式為


MFC 程式或控制項原始程式檔和標頭檔

更新:2007 年 11 月

根據您為所建立專案選取的選項,當您在 Visual Studio 中建立 MFC 專案時會建立下列檔案。例如,只有在建立以對話方塊為架構的專案或類別時,您的專案才會包含 Projnamedlg.cpp 和 Projnamedlg.h 檔案。

這些檔案都是位於 Projname 目錄中,和 [方案總管] 中的標頭檔 (.h 檔) 資料夾或原始程式檔 (.cpp 檔) 資料夾。

檔案名稱

描述

Projname.h

程式或 DLL 的主包含檔,它包含所有全域符號和其他標頭檔的 #include 指示詞。它會從 CWinApp 衍生 CPrjnameApp 類別並宣告 InitInstance 成員 (Member) 函式。對控制項來說,CPrjnameApp 類別是衍生自 COleControlModule

Projname.cpp

主程式原始程式檔,它會建立 CPrjnameApp 類別 (衍生自 CWinApp) 的物件並覆寫 InitInstance 成員函式。

對可執行檔來說,CPrjnameApp::InitInstance 有下列幾項功能:註冊文件樣板 (當做文件與檢視之間的連接)、建立主框架視窗 (Main Frame Window) 以及建立空白文件 (或是在應用程式的命令列引數中指定的話則開啟文件)。

對 DLL 和 ActiveX (原來為 OLE) 控制項來說,CProjNameApp::InitInstance 會藉由呼叫 COleObjectFactory::RegisterAll 以 OLE 來註冊控制項的 Object Factory,並呼叫 AfxOLEInit。此外,還會使用 CProjNameApp::ExitInstance 成員函式呼叫 AfxOleTerm 以從記憶體卸載控制項。

這個檔案也會藉由實作 DllRegisterServerDllUnregisterServer 函式在 Windows 系統註冊資料庫中註冊和移除註冊控制項。

Projnamectrl.h、Projnamectrl.cpp

宣告並實作 CProjnameCtrl 類別。CProjnameCtrl 衍生自 COleControl,是定義來初始化、繪製及序列化 (載入和儲存) 控制項部分成員函式的基本架構實作。也會定義訊息、事件及分派對應 (Dispatch Map)。

Projnamedlg.cpp、Projnamedlg.h

在您選擇對話方塊架構的應用程式時建立。這些檔案會衍生並實作名為 CProjnameDlg 的對話方塊類別,也會包含基本架構成員函式來初始化對話方塊和執行對話資料交換 (Dialog Data Exchange,DDX)。您的 About 對話方塊類別也會置放在這些檔案中,而不是 Projname.cpp。

Dlgproxy.cpp、Dlgproxy.h

在對話方塊架構程式中,主對話方塊之專案 Automation Proxy 類別的實作檔和標頭檔。只有在選擇 Automation 支援的情況下才使用。

Projnamedoc.cpp、Projnamedoc.h

衍生並實作名為 CProjnameDoc 的文件類別,同時包含基本架構成員函式來初始化文件、序列化 (儲存和載入) 文件以及實作偵錯診斷。

Projnameset.h/.cpp

在您建立的程式支援資料庫和包含資料錄集 (Recordset) 類別的情況下建立。

Projnameview.cpp、Projnameview.h

衍生並實作名為 CProjnameView 的檢視類別,這是用來顯示和列印文件資料。CProjnameView 類別是衍生自下列任一 MFC 類別:

專案的檢視類別包含基本架構成員函式來繪製檢視並實作偵錯診斷。如果您啟用列印支援,則會為列印、列印設定及預覽列印等命令訊息 (Command Message) 加入訊息對應項 (Message-Map Entry)。這些項目會呼叫基底 (Base) 檢視類別中的對應成員函式。

ProjnamePropPage.h、ProjnamePropPage.cpp

宣告並實作 CProjnamePropPage 類別。CProjnamePropPage 衍生自 COlePropertyPage,同時會提供基本架構成員函式 DoDataExchange 來實作資料交換和驗證。

IPframe.cpp、IPframe.h

在應用程式精靈的 [Automation 選項] 頁面選取 [迷你伺服程式] 或 [完整伺服程式] 選項時建立 (步驟 3)。這些檔案會衍生並實作名為 CInPlaceFrame 的就地框架視窗 (Frame Window) 類別,這是當容器 (Container) 程式就地啟動伺服程式時使用。

Mainfrm.cpp、Mainfrm.h

CFrameWnd (SDI 應用程式) 或 CMDIFrameWnd (MDI 應用程式) 衍生 CMainFrame 類別,如果在應用程式精靈的 [應用程式選項] 頁面選取對應選項 (步驟 4) 的話,CMainFrame 類別會處理工具列按鈕和狀態列的建立。如需使用 CMainFrame 的詳細資訊,請參閱應用程式精靈建立的框架視窗類別

Childfrm.cpp、Childfrm.h

CMDIChildWnd 衍生 CChildFrame 類別,CChildFrame 類別是用於 MDI 文件框架視窗。如果您選取 MDI 選項,則一定會建立這些檔案。

請參閱

概念

為 Visual C++ 專案建立的檔案類型

參考

ATL 程式或控制項原始程式檔和標頭檔

為 CLR 專案建立的檔案