MFC常用的類詳細介紹

2021-09-05 20:33:18 字數 1748 閱讀 6601

常用的mfc類

cruntimeclass結構

在cruntimeclass結構中定義了類名、物件所佔儲存空間的大小、類的版本號等成員變數及動態建立物件、派生關係判斷等成員函式。每乙個從cobject類派生的類都有乙個cruntimeclass結構同它關聯,以便完成在執行時得到物件的資訊或基類的資訊。

要使用cruntimeclass結構,必須結合使用runtime_class()巨集和其他有關執行時型別識別的mfc巨集。

cobject類

mfc的cobject類為程式設計師提供了物件診斷、執行時型別標識和序列化等功能。

(1)       物件診斷:利用成員函式assertvalid進行物件有效性檢查;利用成員函式dump輸出物件的資料成員的值,診斷資訊以文字形式放入乙個資料流中,用於偵錯程式的輸出視窗資訊顯示。(只能用於debug版的應用程式)

(2)       執行時型別識別:getruntimeclass根據物件的類返回乙個相關聯的指向cruntimeclass結構的指標,它包含了乙個類的執行資訊;函式iskindof用於測試物件與給定類的關係。

(3)       通過與carchive相結合,cobject類為其派生類提供了序列化功能。要建立乙個支援序列化的派生類,必須將declare_serial巨集新增到類定義中,將implement_serial新增到類的實現檔案中。

ccmdtarget類

由cobject類直接派生,所有能實行訊息對映mfc類的基類。功能如下:

(1)訊息傳送

mfc應用程式為每個ccmdtarget派生類建立乙個稱為訊息對映表的靜態資料結構,可將訊息對映到物件所對應的訊息處理函式上。

(2)設定游標

程式正在進行某種操作:beginwaitcursor()將游標改為沙漏形狀;

操作完成:endwaitcursor()將游標改回到之前的形狀;

處於等待狀態時由於某些操作改變了游標形狀後,restorewaitcursor()用於將游標還原為等待狀態。

(3)支援自動化

ccmdtarget類支援程式通過com介面進行互動操作,自動翻譯com介面的方法。方法是呼叫enableautomation()、fromidispatch()、getidispatch()、isresultexpected()和 onfinalrelease()。

cwinthread類

由ccmdtarget派生,主要工作是建立和處理訊息迴圈。

cwnd類

由ccmdtarget類直接派生,是mfc中最基本的gui物件。公共變數m_hwnd用於存放供api函式呼叫的視窗控制代碼。

cframewnd類

從cwnd類派生而來,主要用來掌管乙個視窗。其物件是乙個框架視窗,包括邊界、標題欄、選單、最大化按鈕、最小化按鈕和乙個啟用的檢視。其常用成員函式:

getactivedocument():得到當前文件的指標。

getactiveview():得到當前檢視的指標。

setactiveview():啟用乙個檢視。

gettitle():得到框架視窗的標題。

settitle():設定框架視窗的標題。

setmessagetext():設定狀態列文字。

cdocument類

從ccmdtarget派生,作為使用者文件的基類,代表了使用者儲存或開啟乙個檔案。主要功能是把對資料的處理從對使用者的介面處理中分離出來,同時提供乙個與檢視類互動的介面。

常用的成員函式有:

onnewdocument():建立新文件。

onopendocument():開啟乙個文件。

MFC常用的類詳細介紹

常用的mfc 類 cruntimeclass結構 在cruntimeclass 結構中定義了類名 物件所佔儲存空間的大小 類的版本號等成員變數及動態建立物件 派生關係判斷等成員函式。每乙個從 cobject 類派生的類都有乙個 cruntimeclass 結構同它關聯,以便完成在執行時得到物件的資訊...

MFC中常用類,巨集,函式介紹

常用類 crect 用來表示矩形的類,擁有四個成員變數 top left bottom right。分別表是左上角和右下角的座標。可以通過以下的方法構造 crect int l,int t,int r,int b 指明四個座標 crect const rect srcrect 由rect結構構造 c...

MFC中常用類,巨集,函式介紹

常用類 crect 用來表示矩形的類,擁有四個成員變數 top left bottom right。分別表是左上角和右下角的座標。可以通過以下的方法構造 crect int l,int t,int r,int b 指明四個座標 crect const rect srcrect 由rect結構構造 c...