Nicht immer Ereignisargumente in IHTMLElement Ereignishandler
-
02-07-2019 - |
Frage
Ich habe einen Rückruf zu einer IHTMLElement Instanz hinzugefügt, aber wenn die IDispatch :: Invoke für das Ereignis aufgerufen wird, gibt es nie irgendwelche Argumente (das heißt die pDispParams-> cArgs und pDispParams-> cNamedArgs sind immer 0). Zum Beispiel habe ich einen Rückruf für ein onmouseup Ereignis hinzuzufügen. Von dem, was ich sagen kann, ist ein Rückruf für diese Veranstaltung soll ein Mouseevent-Objekt erhalten. Ist das korrekt? Wenn ja, was muss ich tun, dies geschieht, um sicherzustellen?
Dies ist die MSHTML für IE 6 sp2 (oder besser) auf Windows XP SP2.
Lösung
Veranstaltungen Argumente für alle DOM-Ereignisse onmouseup
einschließlich des übergeordneten Fensters event
Eigenschaft (IHTMLWindow2::event
) gespeichert sind,
Wenn Sie nicht bereits im Cache gespeicherten Elternfenster haben, hat IHTMLElement
eine document
Eigenschaft, die eine IHTMLDocument
Schnittstelle zurückgibt. Von dass Sie für IHTMLDocument2
abfragen können, die eine parentWindow
Eigenschaft hat. Die IHTMLWindow2
die zurückgegeben wird, hat die event
Eigenschaft Sie suchen. Sie sollten von dort für die Ereignisschnittstelle abfragen können.