在VC++中使用ActiveX而不使用MFC?

4
我想知道是否有可能创建一个没有使用VS2010提供的MFC ActiveX的ActiveX控件?我希望完全从头开始编写代码,而不使用任何预定义或生成的内容。所有关于ActiveX的指南都是基于使用MFC的,所有生成的代码都相当混乱,很难理解和完全理解。
我也不太习惯MFC语法,我正在寻找类似于标准C++针对win32 api的东西。据我了解,除了MFC之外,也可以使用其他语言(如C)开发ActiveX组件。我想使用标准的C/C++,但我找不到任何关于如何从头开始做一个非常简单的ActiveX的资源。
希望我表述清楚了。
谢谢。

放弃“标准C++”的要求,这将变得容易很多 - Hans Passant
4个回答

7

另一个选择是使用ATL。从零开始制作ActiveX控件而不使用任何框架远非易事。


3

的确,您不需要MFC(或任何其他框架)来开发ActiveX控件,但是没有找到如何在没有框架的情况下进行开发的示例有一个很好的原因。这非常困难。我的建议是花时间学习支持ActiveX并实现ActiveX控件的框架。如果不使用框架,将需要更长的时间。

此外,如果您不使用框架,您很快就会发现涉及多少样板代码。仅凭样板代码本身,在我看来,值得使用MFC和生成所有脚手架代码的向导。


1
我很难理解所有生成的代码,如果你自己创建它,一切都更容易理解。虽然有点离题,但你知道一个好的资源来理解生成的代码吗? - KaiserJohaan
不会有单一的资源。ActiveX 是几种技术的混合体,其中核心是 COM。还有 OLE 控件、MIDL 和数十个 ActiveX 控件必须支持的接口。我建议先阅读每个术语的维基百科页面。 - Paul Sasik

2

ATL 和 WTL,我喜欢这些框架,没有 MFC 的混乱,可执行文件小而且非常灵活。


0

老旧的VB 6.0是我见过的最容易使用的Active-X控件环境。现在也是“免费”的,我相信。唯一的问题是它们总是有一个“表单”或GUI界面。因此,对于非可见控件来说有点麻烦。无论如何,请查看以下链接: ActiveX控件的基本原理: Visual Basic编程示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接