資源描述:
《Visual C++程序設(shè)計教程 教學(xué)課件 段智毅 第5章 MFC簡介與函數(shù) .ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、第5章MFC簡介與函數(shù)【學(xué)習(xí)目標】MFC是微軟在VisualC++中提供的一個類庫,旨在簡化ViusalC++編程人員開發(fā)Windows應(yīng)用程序的難度,提高編程效率。在本章中簡要介紹MFC的產(chǎn)生和發(fā)展歷史,以及MFC提供的數(shù)據(jù)類型、類庫和函數(shù)等內(nèi)容。通過學(xué)習(xí)本章,讀者可以達到以下學(xué)習(xí)目的:l理解什么是MFC,MFC有何作用l了解MFC的層次關(guān)系l熟悉MFC的數(shù)據(jù)類型l熟悉MFC全局函數(shù)l能夠開發(fā)MFC應(yīng)用程序課件制作人:宋坤【學(xué)習(xí)導(dǎo)航】從事Windows編程的VisualC++開發(fā)人員,MFC是必須掌握的內(nèi)容。MFC封裝了Windows應(yīng)用程序開發(fā)的許多方面,例如窗口、
2、控件、畫刷、畫筆、文件和網(wǎng)絡(luò)通信套接字等。在本章中只對MFC進行整體介紹,主要包括MFC的類庫層次關(guān)系、MFC使用的數(shù)據(jù)類型、全局函數(shù)等,讓讀者對MFC有一個整體印象,有關(guān)MFC的具體內(nèi)容在后面的章節(jié)中進行詳細介紹。本章在書中的學(xué)習(xí)位置如圖5-1所示。課件制作人:宋坤【知識框架】本章學(xué)習(xí)內(nèi)容知識框架如圖5-2所示。課件制作人:宋坤√本章目錄5.1MFC概述5.2MFC類庫層次5.3MFC常用數(shù)據(jù)類型5.4MFC全局函數(shù)5.5開發(fā)MFC應(yīng)用程序5.6課后習(xí)題√√√√√課件制作人:宋坤5.1MFC概述在Microsoft推出Windows3.0之后,Windows操作系統(tǒng)受
3、到越來越多的人的青睞。因此當時學(xué)習(xí)Windows程序設(shè)計便成為程序員的顯學(xué)。但是不久,開發(fā)人員發(fā)現(xiàn)撰寫Windows應(yīng)用程序是重復(fù)、厭煩的過程,而且效率極低。因為每一個窗口都需要在窗口函數(shù)中處理大量的消息,導(dǎo)致出現(xiàn)大量的重復(fù)代碼。隨著C++語言的盛行,開發(fā)人員發(fā)現(xiàn)利用C++語言的特性來封裝WindowsAPI和Windows應(yīng)用程序的開發(fā)可以明顯地提高程序的開發(fā)效率。于是,人們對這種新的開發(fā)模式有了強烈的需求。在這種情況下,Microsoft和其他一些大的廠商開始從事Windows框架的設(shè)計。于是,MFC就是在這種背景下誕生了。MFC英文全稱是MicrosoftFund
4、ationClassLibrary,即微軟基礎(chǔ)類庫。從其產(chǎn)生至今已經(jīng)發(fā)展了十幾個版本,表5-1顯示的MFC的發(fā)展過程。MFCVisualC++MFC1.0版本MicrosoftC/C++7.0版本MFC2.0版本VisualC++1.0版本MFC2.5版本VisualC++1.5版本MFC3.0版本VisualC++2.0版本MFC3.1版本VisualC++2.1版本MFC3.2版本VisualC++2.2版本MFC4.0版本VisualC++4.0版本MFC4.1版本VisualC++4.1版本MFC4.2版本VisualC++4.2版本MFC4.21版本Visua
5、lC++5.0版本MFC6.0版本VisualC++6.0版本MFC7.0版本VisualC++.NET2002版本MFC7.1版本VisualC++.NET2003版本MFC8.0版本VisualC++.NET2005版本課件制作人:宋坤5.2MFC類庫層次MFC中的類按照功能的不同,可以分為不同的層次。圖5-1顯示了MFC中的所有類及類層次。課件制作人:宋坤5.3MFC常用數(shù)據(jù)類型MFC中的數(shù)據(jù)類型與WindowsSDK開發(fā)包中的數(shù)據(jù)類型多數(shù)是一致的。但也有一些數(shù)據(jù)類型是MFC獨有的。表5-2列出了MFC中使用的數(shù)據(jù)類型。數(shù)據(jù)類型描述BOOL布爾值,取值范圍TRUE
6、和FALSEBSTR32位字符指針BYTE8位無符號整數(shù)COLORREF用作顏色值的32位數(shù)值DWORD32位無符號整數(shù),或者段的地址和與之相關(guān)的偏移量LONG32位有符號整數(shù)LPARAM32位值,作為窗口函數(shù)或回調(diào)函數(shù)的參數(shù)LPCSTR指向字符串常量的32位指針LPSTR32位字符串指針LPCTSTR指向兼容Unicode和DBCS字符集的字符串常量32位指針LPTSTR指向兼容Unicode和DBCS字符集的字符串32位指針LPVOID指向一個未定義類型的32位指針LRESULT窗口函數(shù)或回調(diào)函數(shù)返回的32位值UINT32位無符號整數(shù)WNDPROC指向一個窗口函數(shù)的
7、32位指針WORD16位無符號整數(shù)WPARAM作為參數(shù)傳遞給窗口函數(shù)或回調(diào)函數(shù)的值POSITION用于標記集合中一個元素的位置LPCRECT指向一個RECT結(jié)構(gòu)體常量的32位指針其中,表格中列出的最后兩個數(shù)據(jù)類型是MFC所特有的。課件制作人:宋坤5.4MFC全局函數(shù)在MFC類庫中,除了提供實現(xiàn)各種功能的類外,還提供了許多全局函數(shù)。如下所示:1.MFC診斷函數(shù)為了調(diào)試的方便,MFC提供了多個診斷函數(shù),如表5-3所示。函數(shù)名稱描述AfxCheckMemory檢查當前分配的所有內(nèi)存的完整性AfxDump如果在調(diào)試器內(nèi)調(diào)用,則轉(zhuǎn)存對象的狀態(tài)Afx