我想编写一些ATL的ActiveX的控件,在IE里用,
功能例如(javascript调用):var obj = new ActiveXObject("Msxml2.XMLHTTP");
obj.onreadystatechange = DataParse;function DataParse()
{
if(obj.readyState==4)
{
//TODO
}
}我的问题是怎么样编写这样的Event属性!(例如:onreadystatechange)
能给写一个简单的例子么??谢谢!!
功能例如(javascript调用):var obj = new ActiveXObject("Msxml2.XMLHTTP");
obj.onreadystatechange = DataParse;function DataParse()
{
if(obj.readyState==4)
{
//TODO
}
}我的问题是怎么样编写这样的Event属性!(例如:onreadystatechange)
能给写一个简单的例子么??谢谢!!
你是想让你的控件触发一个事件,由容器作出处理对吧。如果在VB,VC等容器里,就是响应控件的一个事件,这样可以做,控件实现连接点容器和连接点,并用ATL的连接点代理生成器生成代码,调用生成的函数。在容器(也就是接收器)方,如在BC,VC,VB中,则直接对控件生成相应用事件处理函数就成。
http://www3.ccw.com.cn/club/essence/200209/11681.htm
这里还给出了客户端如何捕获事件的例子
3、对于使用了多线程触发事件的情况,需要使用ATLCPImplMT.h,并参考
http://support.microsoft.com/kb/q280512/#kb1