1. 新建atl项目
2. 默认选择下一步,点击完成
3.添加c++类 选择 atl简单对象,点击下一步
4.默认下一步
5.勾选连接点
6.打开类视图,选择itest,添加方法
7.这里添加的方法是给外部使用的,例如添加add,输入要勾选in 参数类型不能是指针类型
8.要添加输出参数先选择参数类型为指针类型,在勾选retval 再添加,就可以添加输出参数
9.helpstring 具体作用暂时不清楚,感觉像是提示用的,点击完成,添加add函数完毕
10.在activexATLtest5.dl文件中会添加
11.添加回调函数,后面和上面添加函数一样
12添加完也会修改idl文件,这时候保存,编译一下
13.添加连接点
14.添加实现接口,完成
15.只有这样步骤下才能连接上,在_ItestEvents_CP.h文件中会生成连接代码
16在ctest中添加实现接口可以将回调函数实体化,可以在函数中添加自己需要的代码,方法和添加连接点一样
17.这个时候在test.h和test.cpp文件中可以看到两个函数,一个是给外部调用add,一个是回调函数click,我们需要的功能都可以在这里面实现了
18.下面放一个测试页面
<HTML>
<HEAD>
<TITLE>Test ActiveX</TITLE>
</HEAD>
<body>
<input type="button"οnclick="a();" value="回调函数" />
</body>
<OBJECT ID="Test" WIDTH=528HEIGHT=545 classid="CLSID:xxxxxxxxxxxxxxxxxxx"
CODEBASE="test.CAB#version=1.0.0.1">
</OBJECT>
<script language="JavaScript">
function a() {
Test.click();
}
</script>
add为atl调用函数
<script language="javascript"for="Test" event="add(str,result)">
alert(result);
</script>
</HTML>