MFC類庫簡介(一)

2021-04-13 06:12:45 字數 1723 閱讀 7855

說明:本文是我學習mfc時寫的筆記,引用了《visual c++ 6.0程式設計實用技術與案例》(清華大學出版社 陳元琰 鄧宗明 張睿哲 張曉競 編著),因此本文僅用於相互交流,切勿用於商業用途,本人不承擔任何責任!

1、概要

微軟基礎類庫(microsoft class library,mfc)由兩大部分組成:一是通常所說的c++類庫,是mfc類庫的主體部分,這些類構成了mfc應用程式框架。二是mfc預定義巨集、全域性變數和全域性函式,是mfc類庫的輔助部分,它們都是用mfc進行windows應用程式開發的不可缺少的組成部分。

2、mfc類庫簡介

2.1 根類

cobject類是大多數mfc類的最終基類,它們都繼承了cobject類的三個主要特徵:

(1)在執行時識別物件所屬的類

(2) 支援序列化,把物件存入檔案中及從檔案中讀取物件

(3) 在執行時列印診斷資訊

每個從cobject類派生的類還有乙個相關的cruntimeclass結構,可以在執行時獲取物件的資訊。通過對runtime_class巨集的呼叫可獲得與指定類對應的cruntimeclass結構。

使用者也可以直接從cobject類派生自已的類以獲得這些特性。為此,應遵循以下步驟:

(1) 在類宣告中包含巨集declare_serial;

(2) 為類提供乙個預設的建構函式,這是乙個無引數的建構函式。

(3) 在用來定義類成員函式的c++原始檔中,包含巨集implement_serial。

(4) 過載成員函式serialize()。

2.2 命令傳送類

命令傳送類ccmdtarget封裝了使用者通過選擇選單或工具欄按鈕向應用程式傳送命令的介面。封裝了mfc訊息對映機制,支援命令和訊息的自動傳送,保證命令和訊息正確傳送到目的地。命令傳送類ccmdtarget從cobject類派生,是應用程式結構類和視窗類的基類。但ccmdtarget類在應用程式中很少直接使用。

ccmdui類是乙個與ccmdtarget類相關的有特殊用途的支援類,它封裝了用於更新使用者介面物件(如選單項和工具欄按鈕)的可程式設計介面,用在ccmdtarget類派生類的on_update_command_ui控制函式中,該類沒有任何基類。

2.3 應用程式結構類

1、應用程式執行緒支援類

cwinthread類是所有執行緒類的基類,封裝了操作應用程式的多執行緒功能。cwinthread類是多執行緒應用程式的執行緒類的直接基類。

2、文件類

文件類封裝了應用程式的資料管理,文件類物件由由文件模板建立。

cdocument 類是文件類的基類,使用者應用程式文件類可從cdocument類直接派生。cdocument類支援一些標準操作,如:新建文件,開啟文件、和儲存文件等。

3、文件模板類

文件模板類將文件、檢視及邊框視窗相互聯絡起來,在建立新文件或檢視時協調文件、檢視及邊框視窗的建立。

cdoctemplate類是乙個抽象基類,它為文件模板封裝了基本功能,使用者不能直接使用該類。

cmultidoctemplate為多文件介面(mdi)提供了模板。

csingledoctemplate為單文件介面(sdi)提供模板。

應用程式結構類還包括其他一些主要與ole有關的類。

MFC第一課 MFC簡介

最近開始研究mfc,教材是 深入淺出mfc 第二版 現記錄下學習過程中的心得體會,算是對自己知識的總結,也希望能給他人以幫助 第一課1.縮略詞解釋 mfc 這是乙個建立在windows api之上的c 類庫 api 應用程式介面 sdk 軟體開發工具 現凡以windows raw api撰寫的程式我...

Android類庫簡介

android類庫介紹 gphone開發包android sdk含了很多豐富的類庫 android.util 涉及系統底層的輔助類庫 android.os 提供了系統服務 訊息傳輸 ipc管道 android.graphics gphone圖形庫,包含了文字顯示 輸入輸出 文字樣式 android....

CxImage類庫的簡介

在向大家介紹cximage類庫之前,先向大家推薦乙個優秀的站點 http codeproject.這個站點有很多值得收藏的文章和原始碼。本文就是根據此站點相關資訊寫成。乙個cximage物件是乙個擴充套件了的點陣圖。作者只是在位圖結構上新增了一些起儲存資訊作用的成員變數。乙個cximage物件 同時...