您現在的位置: 18luck新利全站下载 >> 企業管理>> 管理知識>> 資料信息

MFC概述 及應用程序(chm)

所屬分類:
管理知識
文件大小:
334 KB
下載地址:
相關資料:
應用程序
MFC概述 及應用程序(chm)內容簡介

MFC概述 及應用程序目錄:
1_MFC概述
2_MFC和Win32
3_CObject類
4_消息映射的實現
5_MFC對象的創建
6_應用程序的退出
7_MFC的DLL
8_MFC的進程和線程


MFC概述 及應用程序內容提要:
封裝
構成MFC框架的是MFC類庫。MFC類庫是C++類庫。這些類或者封裝了Win32應用程序編程接口,或者封裝了應用程序的概念,或者封裝了OLE特性,或者封裝了ODBC和DAO數據訪問的功能,等等,分述如下。
(1)對Win32應用程序編程接口的封裝
用一個C++ Object來包裝一個Windows Object。例如:class CWnd是一個C++ window object,它把Windows window(HWND)和Windows window有關的API函數封裝在C++ window object的成員函數內,後者的成員變量m_hWnd就是前者的窗口句柄。
(2)對應用程序概念的封裝
使用SDK編寫Windows應用程序時,總要定義窗口過程,登記Windows Class,創建窗口,等等。MFC把許多類似的處理封裝起來,替程序員完成這些工作。另外,MFC提出了以文檔-視圖為中心的編程模式,MFC類庫封裝了對它的支持。文檔是用戶操作的數據對象,視圖是數據操作的窗口,用戶通過它處理、查看數據。
(3)對COM/OLE特性的封裝
OLE建立在COM模型之上,由於支持OLE的應用程序必須實現一係列的接口(Interface),因而相當繁瑣。MFC的OLE類封裝了OLE API大量的複雜工作,這些類提供了實現OLE的更高級接口。
(4)對ODBC功能的封裝
以少量的能提供與ODBC之間更高級接口的C++類,封裝了ODBC API的大量的複雜的工作,提供了一種數據庫編程模式。
繼承
首先,MFC抽象出眾多類的共同特性,設計出一些基類作為實現其他類的基礎。這些類中,最重要的類是CObject和CCmdTarget。CObject是MFC的根類,絕大多數MFC類是其派生的,包括CCmdTarget。CObject 實現了一些重要的特性,包括動態類信息、動態創建、對象序列化、對程序調試的支持,等等。所有從CObject派生的類都將具備或者可以具備CObject所擁有的特性。CCmdTarget通過封裝一些屬性和方法,提供了消息處理的架構。MFC中,任何可以處理消息的類都從CCmdTarget派生。
針對每種不同的對象,MFC都設計了一組類對這些對象進行封裝,每一組類都有一個基類,從基類派生出眾多更具體的類。這些對象包括以下種類:窗口對象,基類是CWnd;應用程序對象,基類是CwinThread;文檔對象,基類是Cdocument,等等。
程序員將結合自己的實際,從適當的MFC類中派生出自己的類,實現特定的功能,達到自己的編程目的。
虛擬函數和動態約束
MFC以“C++”為基礎,自然支持虛擬函數和動態約束。但是作為一個編程框架,有一個問題必須解決:如果僅僅通過虛擬函數來支持動態約束,必然導致虛擬函數表過於臃腫,消耗內存,效率低下。例如,CWnd封裝 Windows窗口對象時,每一條Windows消息對應一個成員函數,這些成員函數為派生類所繼承。如果這些函數都設計成虛擬函數,由於數量太多,實現起來不現實。於是,MFC建立了消息映射機製,以一種富有效率、便於使用的手段解決消息處理函數的動態約束問題。


這樣,通過虛擬函數和消息映射,MFC類提供了豐富的編程接口。程序員繼承基類的同時,把自己實現的虛擬函數和消息處理函數嵌入MFC的編程框架。MFC編程框架將在適當的時候、適當的地方來調用程序的代碼。本書將充分的展示MFC調用虛擬函數和消息處理函數的內幕,讓讀者對MFC的編程接口有清晰的理解。


..............................

Baidu
map