⑴ 什麼是MFC編程
MFC(Microsoft Foundation class)微軟基本類(庫),它是一個面向對象的應用程序架構。程序員利用它可以很方便搭建應用程序框架。
MFC結合了面向對象的編程技術和WINDOWS消息驅動的編程技術,並封裝了WIN32API,其設計好處是:消除了WIN32API的復雜性,封裝了WIN32API,統一了程序的概念,而且可擴展。
MFC實際上是微軟提供的,用於在C++環境下編寫應用程序的一個框架和引擎。VC++是Windows下開發人員使用的專業C++SDK,MFC就是掛在它之上的一個輔助軟體開發包。
(1)什麼是編程mfc擴展閱讀
MFC編程優勢
面對底層程序,它能很輕松的與Windows API或驅動程序結合,就是在自己的代碼中直接使用API函數,而API和驅動程序的資料都是以C語言為基礎的,這使得VC程序員能夠更輕松的使用Windows API。
這樣造成了一個很有意思的現象,即入門時VC程序員要付出更多的努力來學習,但是一旦掌握後,開發其他領域的程序或使用第三方軟體時,如工業控制類的程序,由於底層的程序都是用C語言編寫,反倒是VC程序員能夠更快的掌握該領域的編程技術。而很多其他的編程語言甚至找不到相關的資料。
這就說明VC(MFC)實際上是一種入門困難,但是擴展學習卻很輕松的語言框架。
⑵ C++語言中說的「MFC」一般是指什麼啊
MFC指的是MicrosoftFoundation Classes ,是一種ApplicationFramework,隨微軟Visual C++開發工具發布。MFC以C++類的形式封裝了Windows的API,並且包含一個應用程序框架,以減少應用程序開發人員的工作量。該類庫提供一組通用的可重用的類庫供開發人員使用。大部分類均從CObject 直接或間接派生,只有少部分類例外。 其中包含的類包含大量Windows句柄封裝類和很多Windows的內建控制項和組件的封裝類。
MFC實際上是微軟提供的,用於在C++環境下編寫應用程序的一個框架和引擎。VC++是Windows下開發人員使用的專業C++SDK(SDK,Standard SoftWare Develop Kit,專業軟體開發平台),MFC就是掛在它之上的一個輔助軟體開發包。
MFC是WinAPI與C++的結合。API,即微軟提供的Windows下應用程序的編程語言介面,是一種軟體編程的規范,但不是一種程序開發語言本身,可以允許用戶使用各種各樣的第三方的編程語言來進行對Windows下應用程序的開發,使這些被開發出來的應用程序能在Windows下運行
MFC不只是一個功能單純的界面開發系統,它提供的類絕大部分用來進行界面開發,關聯一個窗口的動作,但它提供的類中有好多類不與一個窗口關聯,即類的作用不是一個界面類,不實現對一個窗口對象的控制(如創建、銷毀),而是一些在Windows(用MFC編寫的程序絕大部分都在Windows中運行)中實現內部處理的類,如資料庫的管理類等
⑶ 編程中所說的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。