2008-09-21 85 views
3

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

这是通过使用用于MSHTML IE 6 SP2(或更好)在Windows XP SP2。

回答

6

活动参数对所有DOM事件,包括onmouseup存储在父窗口的event财产(IHTMLWindow2::event

如果您还没有父窗口缓存,IHTMLElementdocument属性,它返回一个IHTMLDocument接口。从那你可以查询IHTMLDocument2其中有parentWindow属性。返回的IHTMLWindow2具有您正在查找的event属性。您应该能够从那里查询事件界面。