如何将 MFC ActiveX 控件添加到现有的 activex 项目

Posted

技术标签:

【中文标题】如何将 MFC ActiveX 控件添加到现有的 activex 项目【英文标题】:How do I add MFC ActiveX control to an existing activex project 【发布时间】:2011-01-10 05:34:40 【问题描述】:

在 Visual Studio 2008 中,我可以创建一个 MFC activex 项目,它提供了一个向导来创建单个 activex 控件。我现在想在这个项目中创建新控件。

我找不到任何方法来做到这一点。

【问题讨论】:

请注意,我不想将现有的 activex 控件添加到我的项目中。我想在我的项目中创建一个新的 activex 控件。我想要做 MFC ActiveX 控件向导所做的事情,但可以在项目创建后运行。 【参考方案1】:

我刚刚发现生成ActiveX控件代码的模板和脚本位于:

Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\MFC\Control\

可能有一些方法可以对其进行修改,以便将控件添加到现有项目中。

【讨论】:

【参考方案2】:

我也找不到办法。

在 VC6 中,您可以指定在(新)项目中需要多少 ActiveX 控件。也许你可以在 VC6 中构建项目并将其移植到 VC2008。

否则,我最好的猜测是您复制了当前 ActiveX 控件的代码。创建两个类似于当前控件的“Ctrl”和“PropPage”类,然后复制 .odl/.idl 文件中的标题。如果操作正确,新控件将出现在 Class View 中,您可以添加方法、属性和事件。

【讨论】:

【参考方案3】:

Menu->Project->Add Class->现在添加一个空的MFC active x control class...

【讨论】:

这允许我添加一个“来自 ActiveX 控件的 MFC 类”,但是我不想使用一个活动的 x 控件我想在我的项目中开发一个新的控件。【参考方案4】:

Visual Studio 2008 中的每个项目只能有一个输出(EXE、DLL 等)。如果您想要多个输出,请创建一个解决方案。该解决方案将包含您现有的项目。您可以创建其他项目,例如对于 ActiveX 控件

解决方案中的项目可以共享代码,使用相同的设置和配置,并且可以一起构建。

(您不是碰巧已经有了解决方案吗?我认为 Visual Studio 2008 总是会创建解决方案,即使是针对单个项目也是如此。)

【讨论】:

我认为这不是问题所在。单个 .OCX 文件(因此,单个项目)可以拥有多个 ActiveX 控件。

以上是关于如何将 MFC ActiveX 控件添加到现有的 activex 项目的主要内容,如果未能解决你的问题,请参考以下文章

MFC设计器中的“无法访问ActiveX控件类型库”错误

如何使用 MFC 为 ActiveX 控件添加任何可重用接口?

如何在 MFC 对话框中替换/更新 ActiveX 控件

如何使用 MFC 以编程方式更改 ActiveX 控件的属性?

如何访问 MFC 中的 activex 控件?

如何将自定义 UIViewController 添加到现有的 XIB?