當前位置:成語大全網 - 書法字典 - MFC應該學什麽?急需詳細寫壹篇論文。

MFC應該學什麽?急需詳細寫壹篇論文。

MFC Microsoft基本類

MFC,微軟基礎類,類似於VCL,是壹個應用程序框架,是用微軟Visual C++開發工具發布的。目前最新版本是9.0(截止2008年6月,11)。這個類庫為開發者提供了壹套通用的、可重用的類庫。除了少數幾個類之外,大多數類別都是直接或間接從CObject派生出來的。

MFC應用程序的整體結構通常由開發人員從MFC類派生的幾個類和壹個CWinApp類對象(application對象)組成。MFC為MFC AppWizard提供了壹個自動生成框架。

在Windows應用程序中,MFC的主包含文件是“Afxwin.h”。

此外,MFC/ATL有壹些通用的MFC類,它們可以包含在Win32應用程序中,也可以單獨使用。

由於其易用性,初學者往往誤以為VC++開發壹定要用MFC。這種想法是錯誤的。作為壹個應用框架,MFC的使用只能在某些情況下提高開發效率,只能起到輔助作用,並不能代替整個Win32編程。

MFC,微軟基礎類,實際上是微軟為在C++環境下編寫應用提供的框架和引擎,VC++是WinDOS下開發者使用的專業C++SDK(標準軟件開發工具包)。MFC是掛在上面的輔助軟件開發包,MFC是VC++有血有肉的壹部分(註意C++和VC++的區別:C++是壹種編程語言,是大家公認的軟件編程的通用規範,而VC++只是壹個編譯器,或者說是編譯器+源代碼編輯器的IDE、WS、平臺,這個就跟Pascal和Delphi的關系壹樣。Pascal是Delphi的語言基礎。Delphi使用Pascal規範在Win下開發編譯應用程序,但不同於Basic語言與VB的關系。Basic語言在VB開發應用的時代已經成為Basic語言的新規範,VB增加了Basic語言元素。例如,面向對象編程的元素是壹種本質上的飛躍,這使得VB不僅是壹種IDE,而且是壹種新的編程語言。MFC和集成了BC++的VCL壹樣,都是無插件的軟件包和類庫,只不過MFC類是微軟專門為VC++設計的。..

MFC是Win API和C++的結合體。API,微軟提供的WinDOS下應用程序的編程語言接口,是軟件編程的規範,但它本身不是編程語言,它允許用戶使用第三方的各種編程語言(比如我是壹方,微軟是壹方,Borland是第三方)來開發WinDOS下的應用程序。還需要使這些開發的應用程序運行在Windows下,如VB、VC++、Java、DEHPI編程語言函數,本質上都是從API派生出來的,所以用它們開發的應用程序都可以工作在WinOS的消息機制和繪圖中,遵從Windows作為操作系統的內部實現。如果微軟不提供API,在這個世界上,編程Win的工作就不存在了,微軟的產品也會迅速從時尚變成垃圾。上面提到MFC是微軟專門針對API函數的C++包。這樣的組合壹方面方便了用戶在Win下使用微軟的專業C++ SDK開發應用,因為MFC是針對API的包,微軟做了很多工作,隱藏了很多使用C++&的程序開發人員;MFC在編譯軟件的時候,大量的內部小節,比如應用消息的處理,設備環境的繪制,為了方便而組合在壹起,這必然要付出壹定的代價(這是微軟壹貫的風格),從而造成MFC的類封裝有壹定程度的冗余和迂回,但這是可以接受的。..

最後,我們要明白,MFC不僅僅是壹個簡單的界面開發系統,它提供的大部分類都是用於界面開發的,都是與壹個窗口的動作相關聯的,但是它提供的很多類都不是與壹個窗口相關聯的,也就是說,類的作用不是壹個界面類,它並不控制壹個窗口對象(比如創建和銷毀)。但是壹些在WinDOS中實現內部處理的類(大部分用MFC寫的程序都在WinDOS中運行),比如數據庫管理等。最費時間學習的是消息和設備環境,學習C++和MFC最難的是指針。C++面對面向對象編程的其他部分並不難,比如數據類型,進程控制。建議學習C++版的數據結構。

MFC是微軟封裝的API。妳什麽意思?Windows作為壹個提供強大應用編程接口的操作系統,確實方便了很多程序員。傳統的win32開發(直接使用windows的接口函數API)對於程序員來說是非常困難的,因為API函數太多,而且名字很亂,壹個從零開始的窗口往往就是幾百行代碼。MFC是面向對象編程和應用程序框架的完美結合。它對傳統的API進行了分類和封裝,並為您的程序創建了壹個通用框架。

MFC是WindowsAPI的封裝,大大簡化了我們的工作。學習VC主要是學習MFC。大概有100個類,但是常用的只有二三十個。我們要像背四級單詞壹樣理解這些常見的課;當然,不要死記硬背,而是通過看求助、例題、動手練習來學習;而且不是每個班的函數都要學,都要日積月累。如果妳真的想成為高手,做壹個筆記本,把妳認為重要的類和函數記下來,隨時學習,也是壹個不錯的驚喜方法。

這裏是最重要的MFC。

CWnd: Window,是大部分“可見物”(Windows中幾乎所有可見物都是壹個窗口,壹個大窗口中有很多小窗口)的父類,如view CView、frame window CFrameWnd、toolbar CToolBar、dialog CDialog、buttons CButton等;壹個例外是菜單(CMenu)不是從窗口派生的。這種很大,壹開始不用學,知道就行。

CDocument文檔,負責內存數據和磁盤的交互。最重要的是OnOpenDocument(讀入)、OnSaveDocument(寫盤)和Serialize(讀寫)。

CView視圖,負責內存數據和用戶的交互。包括數據的顯示和用戶操作的響應(如菜單選擇和鼠標響應)。最重要的是OnDraw,通常以cwnd:: invalid()開頭。此外,它還通過消息映射表處理菜單、工具欄、快捷鍵和其他用戶消息。妳自己的很多功能都要加進去,而且是妳處理最多的。

CDC設備文本。顯示器和打印機都繪制圖片給用戶看。這張圖抽象為CDC。CDC與其他GDI(圖形設備接口)壹起完成文本、圖形和圖像的顯示。把CDC想象成壹張紙,每個窗口都有壹個CDC,負責繪制窗口。CDC有壹個常見的子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。

對話對話框

CWinApp應用程序類。類似於C中的main函數,是程序執行的入口和管理者,負責程序的建立和刪除,主窗口和文檔模板的建立。最常用的函數InitInstance():初始化。

CGdiObject及其子類,用於在設備文本上繪制圖片。它們都需要在使用前被選入DC。

CPen鋼筆,畫線

CBrush,填充

CFont字體,控制文本輸出的字體。

位圖

調色板

CRgn區域,指定可用於特殊處理的區域。

CFile文件。最重要的是打開,讀和寫。

CString字符串。用C封裝字符數組,非常實用。

CPoint是(x,y)對。

正確的矩形是(左、上、右、下)

CSize size,即(cx,cy) to (width,height) MFC是在192中微軟16位版本的C/C++編譯器7.0版本中作為擴展輕量級Windows API的面向對象C++包庫而引入的。這個時候,C++因為在API上的出色表現,對於開發者來說,在軟件上剛剛開始被用來替代C。因此,他們推出了PWB,壹個集成開發環境(IDE)來取代舊的字符界面。

有趣的是,MFC使用“afx”作為所有全局函數的前綴,使用“Afx”作為全局變量的前綴。因為在MFC的早期開發階段,它被稱為“應用框架擴展”,縮寫為“AFX”。AFX提供了Windows API的高度抽象,建立了新的面向對象的AFX API,但是對於初學者來說太復雜了,AFX團隊不得不重新開始。後來他們創建了壹套C++類,就是MFC。MFC這個名稱采用得太晚,無法修改這些引用。

最近MFC8.0和Visual Studio 2005壹起發布。MFC9.0與Visual Studio 2008壹起發布。MFC不包含在Visual Studio 2005/2008的免費速成版中。

作為強有力的競爭對手,同時發布的還有為Borland的Turbo C++編譯器設計的OWL(對象窗口庫)。但最終Borland停止了OWL的開發,並很快從微軟購買了MFC頭文件和動態鏈接庫的授權,而微軟並沒有提供完整的MFC集成支持。後來,Borland發布了VCL(可視組件庫)來取代OWL框架。