MFC是Win API與C++的結合,API,即微軟提供的WinOS下應用程序的編程語言接口,是壹種軟件編程的規範,但不是壹種程序開發語言本身,可以允許用戶使用各種各樣的第三方(如我是壹方,微軟是壹方,Borland就是第三方)的編程語言來進行對Win OS下應用程序的開發,使這些被開發出來的應用程序能在WinOS下運行,比如VB,VC++,Java,Dehpi編程語言函數本質上全部源於API,因此用它們開發出來的應用程序都能工作在WinOS的消息機制和繪圖裏,遵守WinOS作為壹個操作系統的內部實現,這其實也是壹種必要,微軟如果不提供API,這個世上對Win編程的工作就不會存在,微軟的產品就會迅速從時尚變成垃圾,上面說到MFC是微軟對API函數的專用C++封裝,這種結合壹方面讓用戶使用微軟的專業C++ SDK來進行Win下應用程序的開發變得容易,因為MFC是對API的封裝,微軟做了大量的工作,隱藏了好多程序開發人員在Win下用C++ & MFC編制軟件時的大量內節,如應用程序實現消息的處理,設備環境繪圖,這種結合是以方便為目的的,必定要付出壹定代價(這是微軟的壹向作風),因此就造成了MFC對類封裝中的壹定程度的的冗余和迂回,但這是可以接受的..
最後要明白MFC不只是壹個功能單純的界面開發系統,它提供的類絕大部分用來進行界面開發,關聯壹個窗口的動作,但它提供的類中有好多類不與壹個窗口關聯,即類的作用不是壹個界面類,不實現對壹個窗口對象的控制(如創建,銷毀),而是壹些在WinOS(用MFC編寫的程序絕大部分都在WinOS中運行)中實現內部處理的類,如數據庫的管理類等,學習中最應花費時間的是消息和設備環境,對C++和MFC的學習中最難的部分是指針,C++面向對像程序設計的其它部分,如數據類型,流程控制都不難,建議學習數據結構C++版..