當前位置:成語大全網 - 新華字典 - 編程中所說的mfc是什麽東西啊

編程中所說的mfc是什麽東西啊

MFC ,微軟基礎類( Microsoft Foundation Classes ),同VCL類似,是壹種應用程序框架,隨微軟Visual C++ 開發工具發布。目前最新版本為10.0(截止2011年3月),並且發布了中文版。該類庫提供壹組通用的可重用的類庫供開發人員使用。大部分類均從CObject 直接或間接派生,只有少部分類例外。 MFC 應用程序的總體結構通常由開發人員從MFC類派生的幾個類和壹個CWinApp類對象(應用程序對象)組成。MFC 提供了MFC AppWizard 自動生成框架。 Windows 應用程序中,MFC 的主包含文件為"Afxwin.h"。 此外MFC的部分類為MFC/ATL 通用,可以在Win32 應用程序中單獨包含並使用這些類。 由於它的易用性,初學者常誤認為VC++開發必須使用MFC。這種想法是錯誤的。作為Application Framework,MFC的使用只能提高某些情況下的開發效率,只起到輔助作用,而不能替代整個Win32 程序設計。編輯本段特點 MFC 實際上是微軟提供的,用於在 C++ 環境下編寫應用程序的壹個框架和引擎, VC++ 是 Windows 下開發人員使用的專業 C++ SDK ( SDK,Standard SoftWare Develop Kit,專業軟件開發平臺 ),MFC就是掛在它之上的壹個輔助軟件開發包,MFC作為與VC++血肉相連的部分(註意C++和VC++的區別:C++是壹種程序設計語言,是壹種大家都承認的軟件編制的通用規範,而VC++只是壹個編譯器,或者說是壹種編譯器+源程序編輯器的IDE,WS,PlatForm,這跟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,即微軟提供的Windows下應用程序的編程語言接口,是壹種軟件編程的規範,但不是壹種程序開發語言本身,可以允許用戶使用各種各樣的第三方(如我是壹方,微軟是壹方,Borland就是第三方)的編程語言來進行對Windows下應用程序的開發,使這些被開發出來的應用程序能在Windows下運行,比如VB,VC++,Java,Delhpi編程語言函數本質上全部源於API,因此用它們開發出來的應用程序都能工作在Windows的消息機制和繪圖裏,遵守Windows作為壹個操作系統的內部實現,這其實也是壹種必要,微軟如果不提供API,這個世上對Windows編程的工作就不會存在,微軟的產品就會迅速從時尚變成垃圾,上面說到MFC是微軟對API函數的專用C++封裝,這種結合壹方面讓用戶使用微軟的專業C++ SDK來進行Windows下應用程序的開發變得容易,因為MFC是對API的封裝,微軟做了大量的工作,隱藏了好多程序開發人員在Windows下用C++ & MFC編制軟件時的大量內節,如應用程序實現消息的處理,設備環境繪圖,這種結合是以方便為目的的,必定要付出壹定代價(這是微軟的壹向作風),因此就造成了MFC對類封裝中的壹定程度的的冗余和迂回,但這是可以接受的.. 最後要明白MFC不只是壹個功能單純的界面開發系統,它提供的類絕大部分用來進行界面開發,關聯壹個窗口的動作,但它提供的類中有好多類不與壹個窗口關聯,即類的作用不是壹個界面類,不實現對壹個窗口對象的控制(如創建,銷毀),而是壹些在Windows(用MFC編寫的程序絕大部分都在Windows中運行)中實現內部處理的類,如數據庫的管理類等,學習中最應花費時間的是消息和設備環境,對C++和MFC的學習中最難的部分是指針,C++面向對象程序設計的其它部分,如數據類型,流程控制都不難,建議學習數據結構C++版。 MFC是微軟封裝了的API。什麽意思呢?windows作為壹個提供功能強大的應用程序接口編程的操作系統,的確方便了許多程序員,傳統的win32開發(直接使用windows的接口函數API)對於程序員來說非常的困難,因為,API函數實在太多了,而且名稱很亂,從零構架壹個窗口動輒就是上百行的代碼。MFC是面向對象程序設計與Application framework的完美結合,他將傳統的API進行了分類封裝,並且為妳創建了程序的壹般框架, MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞壹樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。編輯本段重要的MFC CWnd:窗口,它是大多數“看得見的東西”的父類(Windows裏幾乎所有看得見的東西都是壹個窗口,大窗口裏有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;壹個例外是菜單(CMenu)不是從窗口派生的。該類很大,壹開始也不必學,知道就行了。 CDocument文檔,負責內存數據與磁盤的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫) CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、鼠標的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。妳自己的許多功能都要加在裏面,妳打交道最多的就是它。 CDC設備文本。無論是顯示器還是打印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備接口)壹起,完成文字和圖形、圖像的顯示工作。把CDC想象成壹張紙,每個窗口都有壹個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。 CDialog對話框 CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。 CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。 CPen筆,畫線 CBrush刷子,填充 CFont字體,控制文字輸出的字體 CBitmap位圖 CPalette調色板 CRgn區域,指定壹塊區域可以用於做特殊處理。 CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫) CString字符串。封裝了C中的字符數組,非常實用。 CPoint點,就是(x,y)對 CRect矩形,就是(left,top,right,bottom) CSize大小,就是(cx,cy)對(寬、高)MFC是在1992年的Microsoft 16位版的C/C++編譯器的7.0版本中作為壹個擴展輕量級的Windows API面向對象的C++封裝庫而引入的。此時,C++因為它在和API方面的卓越表現,剛剛開始被用來取代C應用於開發商用軟件。因此,他們推出了替代早期的老式的字符界面的集成開發環境(IDE)的PWB。