用ATL开发ActiveX网页控件
来源:互联网 发布:江苏破获网络诈骗团伙 编辑:程序博客网 时间:2024/05/16 11:06
由于业务需要,需要做一个网页插件,以前研究过一点,可以用MFC或者ATL来做,如果不需要界面,用ATL比较好些。这次用ATL开发实现了功能,所以在这里记录下开发流程和需要注意的问题。
开发环境:win7 sp1,visual studio 2013;
微软的vs2013功能很强大,很多代码都不需要自己去写,能自动生成。由于每个项目需求的功能不一样,所以不介绍网页插件具体实现的功能,只介绍下实现网页插件的步骤,下面就来介绍下工程实现的步骤:
一:创建一个ATL工程,如图
各个选项不需要改动,直接下一步,下一步,完成就行了,生成的文件是dll的,可以重命名为*.ocx
二:添加实现插件功能的类。右键项目——添加类——ATL——ALT控件
手动输入一个类名,然后就按照向导一步步完成
3,在类中添加函数,或者说方法。
切换类视图,右键刚才添加的类的名称的接口
选择添加方法,向导,定义方法名称,和输入参数,也可以定义输出参数(注意,如果是输出参数必须为指针,但是如果要传入字符串,不能用char*,应该用BSTR,不用指针,不然会被强制转换成BOOL类型)
四,实现函数
在类的源文件中,可以看到刚才添加add(LONG num1, LONG num2)函数
STDMETHODIMP Cfirst::add(LONG num1, LONG num2)
{
// TODO: 在此添加实现代码
LONG sum = num1 + num2;
char szSum[64] = { 0 };
sprintf(szSum,"%d + %d = %d",num1,num2,sum);
MessageBox(NULL,szSum,NULL,NULL);
return S_OK;
}
在自动生成的测试网页中略加修改
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<TITLE>对象 first 的 ATL 测试页</TITLE>
</HEAD>
<BODY>
<object id="first" classid="CLSID:B9722C72-B9B7-438E-B445-E7664C29677B"></object>
<input type="button" value="Add" onclick="add();" />
<script type="text/javascript">
function add() {
var obj = document.getElementById("first");
obj.add(2,3);
}
</script>
</BODY>
</HTML>
效果图
:
- 用ATL开发ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- [转]用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- [转]用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- 用ATL开发和部署ActiveX网页控件
- 网页初始化ATL开发的activex控件属性
- [activeX]使用ATL开发ActiveX控件[转]
- 用VS2008+ATL开发Gif的ActiveX控件的步骤
- ATL 开发ActiveX控件之定时器使用
- 使用ATL开发ActiveX控件(转载)
- atl开发ActiveX控件 转载保留
- 使用ATL开发一个ActiveX控件
- android(Google公司开发的操作系统)
- 文件处理函数
- ios何时使用self
- UESTC 853 一个简单的走迷宫问题
- TreeList获取节点中的值
- 用ATL开发ActiveX网页控件
- linux下一次性fork多个子进程方法
- AutoScrollViewPager与PageIndicator无限循环混合使用
- HDU2054_A == B ?【模拟题】【大数】【水题】
- VC ++ & sqlite
- C# 轻松获取路径中文件名、目录、扩展名等
- FileStream文件读写
- USB-(OTG)On-The-Go简介
- 寄到欧洲的快递去哪家国际快递公司比较便宜