2011-03-22 101 views
4

我想知道是否可以在不使用VS2010中提供的MFC ActiveX的情況下創建ActiveX控件?我更喜歡從頭開始編寫代碼,沒有任何預定義或生成的內容。所有關於ActiveX的指南都基於使用MFC,並且所有生成的代碼都很混亂,很難掌握和充分理解。VC + +中沒有MFC的ActiveX?

我也不是非常習慣MFC的語法,我正在尋找類似於標準C++對win32 api的東西。據我瞭解,除了MFC之外,ActiveX組件可以用其他語言開發,比如C。我想使用標準的C/C++,但是我無法找到任何有關如何從零開始做一個非常小的ActiveX的資源。

希望我說得很清楚。

謝謝。

+0

放棄'標準C++'的要求,這變得很容易。 – 2011-03-22 16:15:42

回答

3

確實,你不需要MFC(或任何其他框架)來開發ActiveX控件,但是有一個很好的理由是你沒有找到沒有的例子。 這樣做非常困難。我的建議是花時間學習一個支持ActiveX並實現ActiveX控件的框架。如果沒有,它會花費你很多時間。

此外,如果你沒有,你會很快發現多少boiler plate code是涉及。所有單獨的樣板,IMO都值得使用MFC和生成所有腳手架代碼的嚮導。

+0

我很難理解所有生成的代碼,如果您自己創建代碼,一切都更易於掌握。這是一個不太明顯的問題,但是你知道一個理解生成代碼的好資源嗎? – KaiserJohaan 2011-03-22 16:00:07

+0

將不會有單一資源。 ActiveX是幾種技術的組合,其核心是COM。還有OLE控件,MIDL和ActiveX控件必須支持的十幾個接口。我將首先閱讀各條款的維基。 – 2011-03-22 16:05:18

7

另一種選擇是使用ATL。沒有任何框架從頭開始製作一個ActiveX控件是遠遠不夠的。

2

ATL和WTL,我喜歡這些框架,沒有MFC混亂,小的可執行文件和非常靈活。