MFC:
1.是用來編寫Windows應用程序的C++類集,包括:以層次結構組織、封裝了大部分API函數
提供了圖形環境下應用程序的框架、提供了建立應用程序的組件
2.提供了大量的基類供程序員根據不一樣的應用環境進行擴充
3.容許在編程過程當中自定義和擴展應用程序中的類
4.較好的移植性、可移植於衆多的平臺
5.MFC還很好地保持了程序的向下兼容性程序員
MFC類的組織結構
根類:CObject
MFC中多數類和用戶自定義子類的根類,是抽象基類。它提供了許多編程所需的公共操做。好比:
對象的創建、對象的刪除、串行化支持、運行時信息、對象診斷輸出。數據庫
應用程序體系結構類:應用程序和線程支持類、命令相關類、文檔類、文檔模板類、視類(體系結構)、框架窗口(體系結構)。編程
窗口、對話框和控件類:框架窗口類(窗口)、視類(窗口)、對話框類、控件條類。(主要運用於用戶編寫交互程序)數組
繪圖和打印類:輸出(設備相關)類繪圖工具類服務器
數組、列表、映射類:數組類、列表類、映射類網絡
文件和數據庫類:文件I/O類、DAO類、ODBC類框架
Internet和網絡工做類:ISAPI類、Windows Socket類、Win32 Internet類函數
OLE類:OLE容器類、OLE服務器類、OLE拖放和數據傳輸類、OLE普通對話框類、OLE動畫類、OLE控件類、
活動文檔類、其餘文檔類工具
調試和異常類:調試支持類、異常類佈局
應用程序體系結構類
1.命令相關類:CCmdTarget類
該類是CObject的子類,它是MFC庫中全部具備消息映射屬性的基類。消息映射規定了當以對象接受到消息命令時,應調用哪個函數對該消息進行處理。
2.窗口應用程序類:CWinApp類
每一個應用程序有且只有之一應用程序性對象,在運行程序中該對象與其餘對象相互協調、該對象從
CWinApp類中派生出來。CWinApp類封裝了初始化、運行、終止應用程序的代碼
3.文檔/視類 :CDodument Cview
文檔對象有文檔模板對象建立,管理應用程序的數據。視對象表示一個窗口的客戶區,顯示文檔數據並
容許用戶與之交互。CDodument Cview
4.線程基類:CWinThread類
全部線程的基類,可直接使用,CWinApp類就是從CWinThread類中派生出來的。
可視對象類
1.窗口類:CWnd類
Cwnd類提供了MFC中全部窗口類的基本功能,是CCmdTarget類的子類。
建立窗口要分兩步進行:1.引入構造函數,構造一個CWnd對象;2.調用Create創建Windows窗口,並將它連到CWnd對象上。
2.視類:CView類
該類表示框架窗口的客戶區和顯示文檔數據並接收輸入的客戶區,其派生類主要0有以下幾種:
CScrollView:具備滾動功能的視類的基類
CFormView:其佈局在對話資源中定義的滾動視
CEditView:具備文本編輯、查找、替換和滾動功能的類
3.菜單類:CMenu類
該類是CObject類的子類,用於管理菜單。它是一個Windows HMenu的封裝,提供了與窗口有關的菜單資源創建、修改、跟蹤及刪除的成員函數。
4.對話框類:CDialog類
因爲對話框是一個特殊的窗口,因此該類是從CWnd類中派生出來。對話框子層次結構包括通用對話框類CDialog以及支持文件選擇、顏色選擇、字體選擇、打印、替換文本的公共對話框子類。
5.控件類
控件子層次結構包括若干類,使用這些類可創建靜態文本、命令按鈕、位圖按鈕、列表框、組合框、滾動條、編輯框等。這些直觀控件爲 Windows應用程序提供了各類輸入和顯示界面。
6.控件條類:CControlBar類
控件條子層次結構爲工具條、狀態條、對話條和分割窗口創建模型。該類是CToolBar、CStatusBar、
CDialogBar的基類,負責管理工具條、狀態條、對話條的一些成員函數。控件條指的是連接在主窗口框架的頂部或底部的小窗口。
7.繪畫對象類:CGdiObject類
圖形繪畫對象子層次結構以CGdiObject類爲根類,可用於創建繪畫對象模型。如畫筆、刷子、字體、位圖、調色板等。
8.設備描述表類:CDC類
該類及子類支持設備描述表對象,是CObject的子類。CDC類是一個較大的類,包括許多成員函數,如映射函數、繪畫工具函數、區域函數等,經過CDC對象的成員函數能夠完成全部的繪畫工做。
通用類
此類提供了許多通用服務,例如文件I/O、診斷和異常處理等。此外哈包括如數組和列表等存放數據集的類
1.文件類:CFile類和CArchive類
用以編寫輸入輸出處理函數。
2.異常類:CException類
是全部異常狀況的基類。不能直接創建CException對象 ,只能創建派生類的對象,用派生類來捕獲指定的異常狀況。
3.模板收集類
這些類能夠將多種對象存放到數組、列表和映射中,但這些收集類是模板,他們的參數肯定了存放在集合中的對象類型。
OLE類
對象鏈接與嵌入子層次結構爲支持OLE提供了9個類。
普通類:COleDocument、COleItem、COleExxeption
客戶類:COleClientDoc、COleClientItem
服務器類:COleServer、COleTemplate、COleServerDoc、COleServerItem
ODBC數據庫類開放數據庫鏈接子層次結構提供了一些類來支持ODBC特徵,即經過這些類可開發數據庫應用程序來訪問多個數據庫文件。