如果在使用 MFC 应用程序向导生成应用程序时未启用 ActiveX 控件支持,则必须手动添加此支持。 本文介绍将 ActiveX 控件包含手动添加到现有 OLE 容器应用程序的过程。 如果事先知道希望在 OLE 容器中支持 ActiveX 控件,请参阅创建 MFC ActiveX 控件容器的文章。
重要
ActiveX 是一项不推荐用于新开发的旧技术。 有关取代 ActiveX 的新式技术的详细信息,请参阅 ActiveX 控件。
注释
本文使用名为 Container 的基于对话框的 ActiveX 控件容器项目和名为 Circ 的嵌入式控件作为过程和代码中的示例。
若要支持 ActiveX 控件,必须将一行代码添加到项目的两个文件中。
修改主对话框的
InitInstance
函数(在 CONTAINER 中找到)。MFC 应用程序向导调用 AfxEnableControlContainer 的 CPP,如以下示例所示:// COleContainerApp initialization BOOL COleContainerApp::InitInstance() { AfxEnableControlContainer();
}
将以下内容添加到项目的 STDAFX。H 头文件:
#include <afxdisp.h> // MFC Automation classes
完成这些步骤后,单击“ 生成 ”菜单上的“ 生成 ”重新生成项目。