2009-08-03 92 views
0

你如何在MFC中開發UI? 你使用任何免費的libray,或通常從頭開始? C++開發的軟件中總是有這麼多的DLL文件,它們用於什麼?關於MFC開發的一些問題?

MFC ActiveX控件和MFC DLL有什麼區別?

回答

3

Visual Studio 2008通過添加'Feature Pack'來增強MFC。這使您可以創建MS Office 2007樣式的GUI(包括其他功能),並帶有一個功能區欄。

http://msdn.microsoft.com/en-us/library/bb982354.aspx

我把我的C++的牙齒使用MFC,但我建議你看一下Qt的代替 - 這是一個更現代的框架,再加上你的跨平臺支持(在Linux,Mac等。 ) 免費。 MFC是一個很值得死亡框架恕我直言(功能包在買,實際上是BCG庫的簡化版本。)

http://www.bcgsoft.com/

如果你想堅持使用MFC還有另一種流行的GUI框架,通過CodeJock:

http://www.codejock.com/products/overview.asp?platform=mfc

1

MFC(Microsoft Foundation/Frustration Class)是Microsoft向C++開發人員提供框架的一種老方法。在那些日子裏,它是微軟提供的唯一框架,所以這個接近很老(我想是Win95)。

的MFC是由字符串,桂枝,的工具箱控件等... CString的,CWindow的,CTreeControl,...

此外,它包含在組件框架(的ActiveX)和基於GUI組件框架 ActivX控件可能包含工具箱的所有部分。

所有的功能都在mfc ?? .dll中,而其他dll已經成爲Microsft OS本身的一部分,並且包含很多Windows兼容性。 (大多數應用程序包括Word Excel,...都是使用MFC實現的)。

今天我不會建議開始使用MFC了。如果你不得不關心MFC,你註定會失敗,但我會建議使用MS的新炒作之一,或者使用Qt或任何基於Gui的工具箱。

其中大多數比MFC更現代。

+0

感謝您的建議,但我想嘗試使用MFC,我認爲它的性能更好,並且用戶不需要安裝.net框架或其他東西。 – MemoryLeak 2009-08-03 15:12:45

+0

微軟似乎仍在關注MFC - http://msdn.microsoft.com/en-us/library/bb982451.aspx – jussij 2009-08-04 00:52:49

0

標準書對於學習MFC是this之一。

由於您沒有列出令您感到困擾的DLL,因此我無法對它們發表評論。然而在本地代碼中,經常使用的函數常常被分離爲DLL。

一個ActiveX控件是一個COM(組件對象模型)功能「塊」,旨在從多種語言訪問。 COM與MFC沒有特定的連接,除了MFC可以像其他MS產品一樣使用COM組件這一事實。

MFC DLL有兩種類型,擴展和常規。規則DLL就像任何其他DLL一樣。擴展DLL與MFC更緊密地集成,只能與MFC應用程序一起使用,並且可以導出MFC類和函數。

0

如何在MFC中開發UI?

通常,MFC GUI將被定義爲Windows資源文件,該文件使用Windows資源編譯器進行編譯,並使用內置於Visual Studio中的MFC特定資源文件編輯器進行編輯。

但由於資源文件只是純文本它也可以在任何文本編輯器內手工創建和編輯。

MFC ActiveX控件和MFC DLL有什麼區別?

MFC只不過是一組C++庫類,旨在包裝現有的Windows技術。

因此,例如MFC的ActiveX控件無非是用MFC編寫的,同樣的MFC DLL一個的Windows ActiveX控件的Windows DLL MFC編寫。

我也建議花些時間來了解一下底層的Win32圖層。實際上,MFC只是標準Win32頂層的一個非常薄的層,所以任何有關Win32的知識都會派上用場。