vs2012开发基于MFC的ActiveX控件

1.新建工程

2.一直点击下一步,直到出现一下界面,注意红色标注选项,点击完成。

3.进入工程的属性界面,设置工程属性

4.添加对话框资源及其他控件,添加对话框类,

5.设置对话框属性

6.设置Dialog的“添加类”

输入“类名”;(其他的空白处事自动填写)

此时自动生成“MyDlg.h”和“MyDlg.cpp”两个文件。

7.对“CDemoActivexCtrl”添加WM_CREATE事件,选择”<添加>OnCreate”,以初始化对话框对象。

此时在“DemoActiveXCtrl.cpp”中多了两部分代码。

8.修改代码

(1)在“DemoActiveXCtrl.h”增加头文件  #include "MyDlog.h"以及成员MyDlg m_MyDlg;

(2)修改DemoActiveXCtrl.cpp”

int CDemoActiveXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (COleControl::OnCreate(lpCreateStruct) == -1)
        return -1;

    // TODO:  在此添加您专用的创建代码
    m_MyDlg.Create(IDD_DIALOG1,this);  //初始化对话框
    return 0;
}


void CDemoActiveXCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
    if (!pdc)
        return;  

m_MyDlg.MoveWindow(rcBounds,true);
}

此时,有编辑框的那个界面已经可以在控件并加载后显示了,先在菜单栏中点击“生成”、“重新生成解决方法”,如果没有错误,则该控件就会在本机中注册。下边编写一简单htm文件在本机上对该控件进行测试。

<HTML>
<HEAD>
<TITLE>Test ActiveX</TITLE>
</HEAD>
<OBJECT ID="TextActiveX" WIDTH=528 HEIGHT=545 classid="CLSID:ECF33ACE-175E-4D25-919A-0FABF03B55D5">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="12806">
    <PARAM NAME="_ExtentY" VALUE="1747">
    <PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
</HTML>

其中“ECF33ACE-175E-4D25-919A-0FABF03B55D5”是通过“DemoActiveXCtrl.idl”获取的

用IE浏览器打开保存的html文件,即可显示控件,如果不行配置下ie的安全选项~~~

原文地址:https://www.cnblogs.com/enki-fang/p/9260460.html

时间: 2024-10-05 08:51:41

vs2012开发基于MFC的ActiveX控件的相关文章

【转载】基于MFC的ActiveX控件开发(1)

原文:http://iysm.net/?p=114 ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC下ActiveX控件的开发可以分为三种,一种是直接用COM的API来开发,这样做显然非常的麻烦,对程序员要求也非常高,因此一般是不予考虑的:一种是基于传统的MFC,采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能.MFC为广大VC程序员所熟悉,易于上手学习,但缺点是MFC封装的东西比较

基于MFC的ActiveX控件开发 (转)

ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC下ActiveX控件的开发可以分为三种,一种是直接用COM的API来开发,这样做显然非常的麻烦,对程序员要求也非常高,因此一般是不予考虑的:一种是基于传统的MFC,采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能.MFC为广大VC程序员所熟悉,易于上手学习,但缺点是MFC封装的东西比较多,因此用MFC开发出来的控件相对会比较大,因此比较

基于MFC的ActiveX控件开发教程------------浏览器插件之ActiveX开发

一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务数据交互.需插件才能实现的与本地设备的交互等)的情况下可以酌情慎用. 浏览器插件总体可以划分为两大阵营,即IE支持的插件以及非IE支持的插件.本来在Netscape时代,对于浏览器插件是有公用的规范的(NPAPI),一开始所有浏览器都支持该规范,包括IE.后来出于商业原因,微软的IE不再支持NPAPI,改而自己开发了一套基于COM的Ac

【转载】基于MFC的ActiveX控件开发(3)

原文:http://iysm.net/?p=122 3.事件 ActiveX 控件使用事件通知容器控件上发生了某些事情.事件的常见示例包括单击控件.使用键盘输入数据和控件状态更改.当发生这些操作时,控件将引发事件以提醒容器. MFC 支持两种事件:常用和自定义.常用事件是 COleControl 类自动处理的事件.自定义事件使控件得以在该控件特定的操作发生时通知容器.控件内部状态发生更改或收到某个窗口消息即属于此类事件. 常用事件 常用事件由 COleControl 类自动引发.COleCont

【转载】基于MFC的ActiveX控件开发(2)

原文:http://iysm.net/?p=118 2.生成并测试控件 好,现在我们就可以先来生成一下这个项目,当然到目前我们只是用系统自动生成的一个控件项目,什么功能都没有,只是一个空框架. 几秒钟后,项目应该是顺利生成.控件也被自动注册到系统中去.那怎么才能测试一下这个控件呢?当然你可以再建个新项目,比如一个对话框程序,在对话框资源编辑窗口中右边的工具箱里鼠标右键菜单里点选择项. 从弹出窗口中的COM组件下找到我们刚刚生成的这个控件,打勾选中. 然后在工具箱里就会出现这个控件. 然后用鼠标拖

MFC 之ActiveX控件学习

本文将介绍ActiveX控件的应用与工作原理,读者可以把ActiveX控件看成一个极小服务器的应用程序,它不能独立运行,必须要嵌入到容器程序中与容器一起运行,就像电脑主机中的显卡,它自己在电脑硬件系统中是不能发挥作用的必须要和嵌入到主板中,与主板一起工作. ActiveX控件与普通的Windows控件有共同之处也存在差异.首先ActiveX控件有自己的属性和方法.对ActiveX控件的操作通过调用控件对外的方法即可.而Windows控件是Windows内部的对象,虽然它们也有自己的属性和方法但是

在Qt中使用ActiveX控件

Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌入到Qt程序中去. l         QAxServer可以将我们写的Qt控件导出为COM对象或者是ActiveX控件. 第一个例子我们来演示一下在Qt中

使用C#开发ActiveX控件(新)

前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发ActiveX控件. 虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需要浏览器端安装.NET Framework(版本取决于开发Ac

VC ++ MFC activex 控件获取连接的VPN 信息

vc++  MFC 进行activex  控件的开发步骤就不用多写了,只是简单的说明一下方法,以及具体的代码: 使用的类库是 windows 系统的 rasapi32.dll 记住需要添加的头文件如下: #include <Windows.h>#include <Ras.h>#include <RasError.h>#pragma comment(lib, "rasapi32.lib") 代码如下: VARIANT_BOOL CsecurityCon