2010-02-10 190 views
6

我想知道是否有一個微軟替代MFC,除了Windows操作系統的GUI編程中的WinForms?在Windows下的C++的GUI框架/ Lib

我不想使用thirdparty(Borland/Qt/wxWindows)庫。 WinForms需要.NET這是主要問題(不能在目標機器上安裝.NET)並且MFC對我來說是創傷...

任何接近Qt但是微軟品牌的替代品?

我將不勝感激任何建議!

+4

我很好奇,你爲什麼如此熱衷於使用MS品牌的東西?大多數我認識的人會詢問完全相反的結果...... – Manuel 2010-02-10 14:24:33

+0

您是否有技術上的理由不想使用非MS庫或偏好? – 2010-02-10 14:25:07

+0

客戶端請求所有*必須*基於MS ... – CombineSlave 2010-02-10 14:26:13

回答

10

嘗試WTL。這個庫最初是由微軟創建的,然後開源。與MFC相反,許多開發人員報告了良好的體驗。它構建了更輕的可執行文件,它比MFC的結構更好,但功能也不那麼豐富。

2

我不認爲有任何。你可以使用純WinAPI,ATL,WTL(在這種情況下祝你好運!)。

爲什麼你不想使用Qt?它的免費,開源和非常靈活的工具。

+0

爲什麼 - 僅MS技術/庫和資源的客戶端請求 – CombineSlave 2010-02-10 14:32:31

0

沒有任何。不要浪費時間進行搜索。

+0

WT服務器的WTL下載鏈接: http://www.microsoft.com/下載/ details.aspx?FamilyID = 48cb01d7-112e-46c2-bb6e-5bb2fe20e626&displaylang = en (順便說一句,這不是我誰downvoted你) – Manuel 2010-02-10 14:26:32

+1

我認爲這是一個很好的迴應 - 真的沒有除MFC以外的MS庫這將是「接近Qt」。 WTL很棒,但它不是像Qt或MFC這樣的應用程序框架。 – 2010-02-10 15:11:38

+0

我同意 - WTL不是一個應用程序框架,缺乏體面的文檔使得學習曲線非常陡峭。 – Rob 2010-02-10 15:58:18

0

這將是接近的Qt,但微軟通過「接近Qt的」你的意思是在設計上的Qt類似品牌

如果任何替代,則沒有 - 沒有。我使用WTL並喜歡它,但它與Qt非常不同。

1

儘管我很喜歡它,並且已經廣泛使用它,但由於文檔並不是很好,所以WTL非常努力學習。代碼項目中有一些很棒的'WTL for MFC Programmers'文章,這是絕對必讀的。然而,如果你想從MS那裏得到類似Qt的東西,那麼你只剩下MFC,我很害怕。好的,它很長,但隨着VS2008 SP1 MFC Feature Pack的增加,您可以創建帶有功能區的Office 2007類應用程序。如果只允許使用MS非.NET技術,這可能是您的最佳解決方案。

+1

不幸的是,某些mfc課程使用.net .. *嘆息* – johnathon 2013-03-09 00:22:03

15

我也建議WTL。這裏有一些有用的WTL鏈接列表:

WTL開源應用程序,其中一個可以研究看看各種實現招數:

+1

+1對於關於您的建議的優秀過多的信息,OP應該標記答案,因爲問題是舊的。看起來好像OP有些沮喪,忘記了這是事實。 – johnathon 2013-03-09 00:24:45

0

您可以隨時使用Windows API直接繞過MFC。

+0

Ewwww。我們有一個使用直接Win32 API的程序,而且我是主要的維護者。我想知道API設計師在抽菸什麼,以及我能在哪裏找到一些。 – 2010-02-10 22:52:10

+0

@DavidThornley api設計師沒有抽菸。兩個不同ABI組件之間以非管理方式(有2個)互相對話的唯一方式是一個平面C接口(aka windows api)和COM <〜yea ..當api不存在時創建。考慮到所有依賴於api的東西(MFC,ATL,以及你可以想到的每一個應用/框架),他們不太熱衷於通過改變它來打破世界。當然,他們應該這樣做。 – johnathon 2013-03-08 13:31:41

+0

@johnathon:我明白爲什麼他們需要保持這種方式,一旦首次發佈。但是,之前我已經看到了很好的平面C接口,而這看起來並不符合我的要求。 – 2013-03-08 23:00:06

-1

我不明白。如果它不是Win32或MFC或Windows.Forms,那麼您要查找的是第三方。

所有這些推薦WTL的人都建議你下載一些第三方項目的工具包並使用它。這很好,如果這就是你想要的。但如果你這樣做,那麼我強烈建議看看Qt或wxWidget。前者可以獲得最全面的功能集,後者可以使用「更加健全」的API來繪製原生小部件。

除此之外:WTL可以從MS服務器下載,但與MS支持的技術相差甚遠。它是不受支持的附加組件。

+1

不過,WTL可以作爲「MS技術」呈現給他的客戶。它最初由MS開發,目前正在MS,Google,VMWare和其他大型軟件公司使用。 – 2010-02-10 20:16:37

+0

這實際上是不正確的。它由當時的微軟員工Nenad Stefanovic開發。但它從來不是「微軟技術」。人們經常認爲,如果MS服務器上的MS團隊發佈了某些內容,那麼這意味着它是MS支持的官方技術。事實並非如此。而在許多隻有MS纔算的公司中,這個區別是非常重要的。 – Shaun 2010-02-10 20:51:46