Pergunta

Eu adicionei uma chamada de retorno a uma instância IHTMLElement mas quando o IDispatch :: Invoke é chamado para o evento, nunca há quaisquer argumentos (ou seja, os pDispParams-> CArGs e pDispParams-> cNamedArgs são sempre 0). Por exemplo, eu adicionar um retorno de chamada para um evento onmouseup. Do que eu posso dizer, uma chamada de retorno para este evento é suposto para receber um objeto MouseEvent. Isso está correto? Se assim for, o que eu preciso fazer para garantir que isso acontece?

Esta é usando o MSHTML para o IE 6 SP2 (ou melhor) no Windows XP SP2.

Foi útil?

Solução

Eventos argumentos para todos os eventos DOM incluindo onmouseup são armazenadas na propriedade event da janela pai (IHTMLWindow2::event)

Se você não tiver a janela pai em cache, IHTMLElement tem uma propriedade document que retorna uma interface IHTMLDocument. Desde que você pode consultar IHTMLDocument2 que tem uma propriedade parentWindow. O IHTMLWindow2 que é retornado tem a propriedade event que você está procurando. Você deve ser capaz de consulta para a interface de eventos de lá.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top