Como activar o processamento de uma página Web de eventos do controlo ActiveX

Resumo

Um controlo ActiveX tem de implementar a interface IProvideClassInfo ou IProvideClassInfo2 para activar o processamento de eventos numa página Web. Microsoft Internet Explorer utiliza esta interface para obter a biblioteca de tipos para o controlo e determinar o conjunto de eventos disponíveis.

Mais Informações

Utilizando uma linguagem de script, como VBScript ou JavaScript, um autor da página Web pode utilizar a automatização para invocar métodos/propriedades e processar eventos para um controlo ActiveX colocada na página com uma tag HTML < OBJECT >. Para um controlo ActiveX suportar esse processamento de eventos, tem de implementar a interface IProvideClassInfo ou IProvideClassInfo2. Internet Explorer consulta o controlo para estas interfaces e, se implementada, chama o método de GetClassInfo() para obter a biblioteca de tipos para o controlo. Internet Explorer inicialmente irá consultar o controlo IProvideClassInfo2 e, se não for implementada, em seguida, irá consultar para IProvideClassInfo.The IProvideClassInfo2 interface deriva de IProvideClassInfo e fornece um método adicional, GetGUID() , que devolve um objecto da saída interface ID de evento conjunto predefinido. Para controlos de ActiveX desenvolvidos utilizando o Microsoft Foundation Classes, a interface de IProvideClassInfo2 é implementada por predefinição. Para controlos de ActiveX desenvolvidos utilizando o Microsoft Visual Basic, a interface de IProvideClassInfo é implementada por predefinição. Quando utilizar o Microsoft Active modelo de biblioteca (ATL), versão 3.0, os seguintes objectos ATL 'controlo lite' não implementa a interface de IProvideClassInfo2 por predefinição:

  • Objecto Simple

  • Objecto do Internet Explorer

  • Controlo Lite

  • Controlo composto Lite

  • Controlo de HTML Lite

Pode facilmente adicionar suporte para processamento por implementar as interfaces de IProvideClassInfo de eventos. Isto é feito por decorrentes do controlo da implementação ATL predefinida, a IProvideClassInfo2Impl.

  1. Adicione a seguinte linha à lista de derivação de classe:

       public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL,                                 &LIBID_<project_name>Lib>
  2. Adicione as seguintes linhas para o COM_MAP:

       COM_INTERFACE_ENTRY(IProvideClassInfo)   COM_INTERFACE_ENTRY(IProvideClassInfo2)

Referências

Para mais informações sobre a biblioteca de modelos activa e execução controlos ActiveX, consulte a documentação do Microsoft Visual C++ Online. Para mais informações sobre como desenvolver soluções baseadas na Web para o Microsoft Internet Explorer, visite os seguintes Web sites da Microsoft:

http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) 1999 Microsoft Corporation, todos os direitos reservados. Contribuições marca Davis, Microsoft Corporation.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

×