No llegar argumentos del evento en IHTMLElement controlador de eventos
-
02-07-2019 - |
Pregunta
He añadido una devolución de llamada a un IHTMLElement instancia, pero cuando la interfaz IDispatch::Invoke es llamado para el evento, nunca hay argumentos (es decir,el pDispParams->cArgs y pDispParams->cNamedArgs son siempre 0).Por ejemplo, puedo añadir una devolución de llamada para un evento onmouseup.Por lo que puedo decir, una devolución de llamada para este caso se supone que es para recibir un objeto MouseEvent.Es eso correcto?Si es así, ¿qué tengo que hacer para garantizar que esto ocurra?
Este es el uso de la MSHTML para internet explorer 6 sp2 (o mejor) en Windows XP SP2.
Solución
Eventos argumentos para todos los eventos DOM incluyendo onmouseup
se almacenan en la ventana principal event
propiedad (IHTMLWindow2::event
)
Si usted no tiene ya el padre de la ventana de caché, IHTMLElement
tiene un document
propiedad que devuelve un IHTMLDocument
la interfaz.De que usted puede consultar para IHTMLDocument2
que tiene un parentWindow
de la propiedad.El IHTMLWindow2
que es devuelto a la event
la propiedad que usted está buscando.Usted debe ser capaz de consulta para el evento de la interfaz a partir de ahí.