没有在IHTMLElement事件处理程序中获取事件参数

Jim*_*ton 4 c++ com internet-explorer mshtml

我已经为IHTMLElement实例添加了一个回调,但是当为该事件调用IDispatch :: Invoke时,从来没有任何参数(即pDispParams-> cArgs和pDispParams-> cNamedArgs始终为0).例如,我为onmouseup事件添加了一个回调.据我所知,这个事件的回调应该接收一个MouseEvent对象.那是对的吗?如果是这样,我需要做些什么来确保这种情况发生?

这是在Windows XP SP2上使用MSHTML for IE 6 sp2(或更好).

rpe*_*ich 6

所有DOM事件的事件参数包括onmouseup存储在父窗口的event属性(IHTMLWindow2::event)中

如果您还没有缓存父窗口,则IHTMLElement具有document返回IHTMLDocument接口的属性.从中您可以查询IHTMLDocument2哪个parentWindow属性.在IHTMLWindow2返回的有event你要找的财产.您应该能够从那里查询事件接口.