Como ativar uma página da Web de manipulação de eventos do controle ActiveX

Resumo

Um controle ActiveX deve implementar a interface IProvideClassInfo ou IProvideClassInfo2 para habilitar a manipulação de eventos em uma página da Web. Microsoft Internet Explorer usa essa interface para obter a biblioteca de tipos para o controle e determinar o conjunto de eventos disponíveis.

Informações adicionais

Usando uma linguagem de script, como VBScript ou JavaScript, um autor de página da Web pode usar a automação para invocar métodos/propriedades e manipular eventos para um controle ActiveX colocado na página com uma marca HTML < objeto >. Para um controle ActiveX oferecer suporte a essa manipulação de eventos, ele deve implementar a interface IProvideClassInfo ou IProvideClassInfo2. Internet Explorer consultará o controle para essas interfaces e, se implementada, chama o método GetClassInfo() para obter a biblioteca de tipos para o controle. Internet Explorer consultará inicialmente o controle IProvideClassInfo2 e, se isso não for implementado, em seguida, irá consultar IProvideClassInfo.The IProvideClassInfo2 interface é derivada de IProvideClassInfo e fornece um método adicional, GetGUID() , que retorna um objeto da identificação de evento conjunto padrão de saída. Para controles ActiveX desenvolvidos usando o Microsoft Foundation Classes, a interface IProvideClassInfo2 é implementada por padrão. Para controles ActiveX desenvolvidos usando o Microsoft Visual Basic, a interface IProvideClassInfo é implementada por padrão. Ao usar o Microsoft biblioteca ATL (Active Template), versão 3.0, os seguintes objetos ATL 'lite controle' não implementam a interface IProvideClassInfo2 por padrão:

  • Objeto simples

  • Objeto do Internet Explorer

  • Controle Lite

  • Controle composto Lite

  • Controle HTML Lite

Você pode adicionar facilmente suporte para manipulação de eventos, implementando as interfaces IProvideClassInfo. Isso é feito derivando seu controle a implementação padrão de ATL, IProvideClassInfo2Impl.

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

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

       COM_INTERFACE_ENTRY(IProvideClassInfo)   COM_INTERFACE_ENTRY(IProvideClassInfo2)

Referências

Para obter mais informações sobre a Active Template Library e Implementando controles ActiveX, consulte a documentação do Microsoft Visual C++ Online. Para obter mais informações sobre como desenvolver soluções baseadas na Web para o Microsoft Internet Explorer, visite os seguintes sites da Microsoft:

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

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×