共用方式為


衍生的視窗類別

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

框架視窗類別

  • CFrameWnd
    用作 SDI 框架視窗,建構單一文件及其檢視。 框架視窗是應用程式的主框架視窗和目前文件的框架視窗。

  • CMDIFrameWnd
    用作 MDI 應用程式的主框架視窗。 主框架視窗是所有 MDI 文件視窗的容器並共享其功能表列。 MDI 框架視窗是出現在桌面最上層視窗。

  • CMDIChildWnd
    用作開啟在 MDI 主框架視窗中的個別文件。 每個文件及其檢視由 MDI 主框架視窗內包含的 MDI 子框架視窗框架所建構。 MDI 子視窗的外觀很像一般的框架視窗,但它是包含在 MDI 框架視窗內而非桌面上。 然而, MDI 子視窗缺少功能表列,所以必須和包含功能表列的 MDI 框架視窗共享。

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

從 CWnd 衍生的其他視窗類別

除了框架視窗以外,其他幾個視窗的主要類別衍生自 CWnd

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

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

  • 表單
    以對話方塊樣板資源為基礎的表格檢視(例如對話方塊)是使用類別 CFormViewCRecordViewCDaoRecordView 建立。

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

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

視窗類別階層

請參閱 《 MFC 參考》中的MFC 階層架構圖表 。 「檢視」的說明在 文件/檢視架構。 對話方塊的說明在 對話方塊

建置特殊目的的視窗類別

除了類別庫所提供的視窗類別之外,您可能需要特殊目的的子視窗。 要建立這種視窗,請建立您的 CWnd 衍生類別並將它設為框架或檢視的子視窗。 記住框架處理的範圍是文件框架視窗的工作區。 大部分的工作區由檢視處理,不過其他視窗(例如控制列或自訂視窗)可能與檢視共用空間。 要在框架視窗的工作區內調整子視窗的位置,您可能需要和 CViewCControlBar 類別中的機制互動。

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

請參閱

概念

視窗物件