共用方式為


衍生的窗口類別

您可以直接從 CWnd建立視窗,或從 CWnd衍生新的窗口類別。 這是您通常建立自己的自定義視窗的方式。 不過,大多數架構程式使用的視窗,反而是由 MFC 所提供的其中一個 CWnd 衍生框架視窗類別所建立。

框架窗口類別

CFrameWnd
用於框架單一文件及其檢視的SDI框架視窗。 框架視窗是應用程式的主要框架視窗,以及目前檔的框架視窗。

CMDIFrameWnd
做為 MDI 應用程式的主框架視窗。 主框架視窗是所有 MDI 文件視窗的容器,並與它們共用其功能表欄。 MDI 框架視窗是桌面上出現的最上層視窗。

CMDIChildWnd
用於在 MDI 主框架視窗中開啟的個別文件。 每個檔案及其檢視由包含在 MDI 主框架視窗中的 MDI 子框架視窗所構成。 MDI 子視窗看起來很像一般的框架視窗,但它位於 MDI 框架視窗內,而不是位於桌面上。 不過,MDI 子視窗缺少自己的功能表欄。 它必須共用包含它的 MDI 框架視窗選單列。

如需詳細資訊,請參閱 框架視窗

衍生自 CWnd 的其他窗口類別

除了框架視窗之外,還有數個主要的視窗類別衍生自 CWnd

  • 瀏覽次數
    檢視是使用 CWnd衍生類別 CView 建立的(或其其中一個衍生類別)。 檢視會附加至檔,並做為文件與使用者之間的媒介。 視圖是子視窗,通常會填滿 SDI 框架窗口或 MDI 子框架窗口的用戶區域(或工具列或狀態列未覆蓋的用戶區域部分)。

  • 對話框
    對話框是使用CWnd衍生的類別 CDialog建立的。

  • 表單
    窗體檢視是以對話框範本資源為基礎的,例如對話框,是使用 類別 CFormViewCRecordViewCDaoRecordView來建立。

  • 控制項
    使用衍生自 CWnd的其他類別來建立按鈕、清單框和下拉式方塊等控件。 請參閱 控件主題

  • 控制欄
    包含控制件的子視窗。 範例包括工具列和狀態列。 請參閱 控制列

窗口類別階層

請參閱 MFC 參考中的 MFC 階層圖表。 檢視會在 檔/檢視架構中說明。 對話框會在 [對話框] 中說明。

建立您自己的 Special-Purpose 視窗類別

除了類別庫所提供的窗口類別之外,您可能需要特殊用途的子視窗。 若要建立這類視窗,請建立您自己的 CWnd衍生類別,並將其設為框架或檢視的子視窗。 請記住,框架會管理文件框架視窗客戶區的範圍。 大部分的工作區都是由檢視管理,但其他視窗,例如控制列或您自己的自定義視窗,可能會與檢視共享空間。 您可能需要與類別 CViewCControlBar 中的機制互動,以便在框架視窗的用戶區內定位子視窗。

建立窗口 討論建立窗口物件及其管理的視窗。

另請參閱

Window 物件