gpt4 book ai didi

c++ - 未在 IHTMLElement 事件处理程序中获取事件参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:23 26 4
gpt4 key购买 nike

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

这是在 Windows XP SP2 上使用适用于 IE 6 sp2(或更高版本)的 MSHTML。

最佳答案

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

如果您还没有缓存父窗口,IHTMLElement 有一个document 属性,它返回一个IHTMLDocument 接口(interface)。您可以从那里查询具有 parentWindow 属性的 IHTMLDocument2。返回的 IHTMLWindow2 具有您要查找的 event 属性。您应该能够从那里查询事件接口(interface)。

关于c++ - 未在 IHTMLElement 事件处理程序中获取事件参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/110015/

26 4 0