5 2 MFC的類層次

2021-08-25 06:48:23 字數 1541 閱讀 1249

** 書籍 :<

mfc(微軟基礎類)也是一種應用程式框架,定義了應用程式的一般處理流程,用於對windows api實現基於物件導向技術的封裝,隱藏在windows下使用c++程式設計的大量內部細節。在開發應用程式的過程中,程式設計人員可以通過對類庫中已有類的繼承,生成功能更加強大的類庫以供自己所用。

在mfc中類的層次結構(即繼承關係)如圖5-3所示。

圖5-3 mfc中類的層次結構

從圖中可知,在mfc中大多數的類都派生於cobject類,它的主要作用是為子類提供一些基本的功能,這些派生類構成了mfc應用程式的基本框架,它們各自的功能描述如表5-1所示。

派生類功能描述

ccmdtarget

用於處理使用者請求

cwinthread

代表應用程式內部的執行執行緒

應用程式的核心

cwnd

為所有的視窗類提供基本的功能,處理常見的系統訊息

cview

用於顯示資料並與文件物件進行互動

cframewnd

應用程式的主框架

cdocument

包含應用程式的資料集

下面將對上述表中各個類的功能進行具體的講解。

1)ccmdtarget類

ccmdtarget類是mfc的訊息對映基礎類,mfc為該類設計了許多的成員變數及函式以解決訊息對映的問題。派生於ccmdtarget的類可用於處理當使用者選擇選單或單擊按鈕等操作時所產生的command訊息。

2)cwinthread類

應用程式類的物件需要完成以下工作。

初始化應用程式。

建立文件模板結構。

迴圈檢索訊息佇列中的訊息並將這些訊息傳送到指定的地方。

執行應用程式退出時的清理工作。

4)cdocument類

cdocument類是在使用文件/檢視結構的應用程式中文件物件的基類,它為應用程式的文件物件提供了基本的功能,包括新建、序列化資料等。

5)cwnd類

cwnd類是所有mfc 視窗的基類,它封裝了視窗的基本操作,包括視窗的建立、銷毀、設定視窗風格等,以及視窗對大部分訊息的預設響應。開發人員可以直接從cwnd派生其他類,但通常情況下我們並不這麼做,而是通過繼承cwnd的派生類生成新類。

6)cframewnd類

cframewnd類往往用於建立應用程式的主視窗,並定義了大量管理檢視和文件物件的成員函式及變數。在編寫文件/檢視結構的應用程式時,檢視物件等將作為cframewnd的子視窗實現對客戶區的共享,並被cframewnd有序排列。

7)cview類

cview類是在使用文件/檢視結構的應用程式中檢視物件的基類,它是使用者的主要操作介面。在應用程式中,乙個檢視物件通常只對應乙個文件物件,但乙個文件物件卻可以關聯多個檢視物件,並且每個檢視物件都以不同的形式來顯示文件中的資料。

5 2 MFC的類層次

書籍 mfc 微軟基礎類 也是一種應用程式框架,定義了應用程式的一般處理流程,用於對windows api實現基於物件導向技術的封裝,隱藏在windows下使用c 程式設計的大量內部細節。在開發應用程式的過程中,程式設計人員可以通過對類庫中已有類的繼承,生成功能更加強大的類庫以供自己所用。在mfc中...

MFC中的類結構層次 MFC基礎類及其層次結構

在前一篇中,gilbert總結了mfc是以類的形式封裝了api函式,使得windows下的c語言程式設計,成為物件導向的mfc.mfc採用單一繼承,從根類cobject層層派生出絕大多數mfc中的類,其層次結構為下圖所示.派生類功能描述 ccmdtarget 用於處理使用者請求,處理選單或按鈕等訊息...

類的層次結構

對於在不同的作用域宣告的識別符號,可見性原則是 如果存在兩個或則多個具有包含關係的作用域,外層宣告的識別符號如果沒有在內層宣告,則他在內層任然可見 如果內層宣告了同名識別符號,則外層識別符號在內層不可見,這時稱內層變數覆蓋了外層同名變數,這種現象叫同名覆蓋。在類的派生層次結構中,基類的成員和派生類新...