分享方式:


衍生的視窗類別

您可以直接從 CWnd 建立視窗,或從 CWnd 衍生新的視窗類別。 這是您通常建立自己的自訂視窗的方式。 不過,大部分用於架構程式中的視窗都是從 MFC 提供的其中一個 CWnd 衍生框架視窗類別所建立。

框架視窗類別

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

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

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

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

衍生自 的其他視窗類別 CWnd

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

  • 檢視:
    檢視是使用 CWnd 衍生類別 CView 建立的(或其其中一個衍生類別)。 檢視會附加至檔,並做為檔與使用者之間的媒介。 檢視是子視窗(不是 MDI 子系),通常填滿 SDI 框架視窗或 MDI 子框架視窗的工作區(或工具列或狀態列未涵蓋的工作區部分)。

  • 對話方塊
    對話方塊是使用 衍生類別 CDialog 建立的 CWnd

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

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

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

視窗類別階層

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

建立您自己的特殊用途視窗類別

除了類別庫所提供的視窗類別之外,您可能需要特殊用途的子視窗。 若要建立這類視窗,請建立您自己的 CWnd 衍生類別,並將其設為框架或檢視的子視窗。 請記住,架構會管理檔框架視窗工作區的範圍。 大部分的工作區都是由檢視管理,但其他視窗,例如控制列或您自己的自訂視窗,可能會與檢視共用空間。 您可能需要與類別 CView 中的機制互動,以及在 CControlBar 框架視窗工作區中放置子視窗。

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

另請參閱

Window 物件