由于业务需要,需要做一个网页插件,以前研究过一点,可以用MFC或者ATL来做,如果不需要界面,用ATL比较好些。这次用ATL开发实现了功能,所以在这里记录下开发流程和需要注意的问题。
开发环境:win7 sp1,visual studio 2013;
微软的vs2013功能很强大,很多代码都不需要自己去写,能自动生成。由于每个项目需求的功能不一样,所以不介绍网页插件具体实现的功能,只介绍下实现网页插件的步骤,下面就来介绍下工程实现的步骤:
一:创建一个ATL工程,如图
activex 控件各个选项不需要改动,直接下一步,下一步,完成就行了,生成的文件是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;
}
{
// 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"/>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<TITLE>对象 first 的 ATL 测试页</TITLE>
</HEAD>
<BODY>
</HEAD>
<BODY>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论