Partilhar via


Controlos ActiveX

A tecnologia de controles ActiveX se baseia em uma base que consiste em COM, objetos conectáveis, documentos compostos, páginas de propriedades, automação OLE, persistência de objetos e objetos de fonte e imagem fornecidos pelo sistema. Como resumido abaixo, cada uma dessas tecnologias principais desempenha um papel nos controles.

COM

Um controle é essencialmente um objeto COM que expõe o IUnknown interface, através do qual os clientes podem obter ponteiros para suas outras interfaces. Os controlos podem suportar o licenciamento através IClassFactory2 e auto-registo. Consulte The Component Object Model para obter mais informações sobre COM, licenciamento e autoregistro.

Objetos conectáveis

Os controles podem suportar interfaces de saída através de objetos conectáveis para que o controle possa se comunicar com seu cliente. Por exemplo, uma interface de saída pode disparar uma ação no cliente, pode notificar o cliente de alguma alteração no controle ou pode solicitar permissão do cliente antes que o controle execute alguma ação. Consulte Eventos em COM e Objetos conectáveis para obter mais informações sobre como os objetos conectáveis funcionam.

Transferência uniforme de dados

Os controles podem suportar ser arrastado e solto dentro de um contêiner com a ajuda de seu contêiner. Consulte IOleInPlaceObjectWindowless::GetDropTarget para obter mais informações sobre arrastar e soltar.

Documentos compostos

Um controle pode ser um objeto ativo in-loco que pode ser incorporado em um cliente que contém. Um usuário final ativa o controle para iniciar uma ação no aplicativo contêiner. Consulte de documentos compostos para obter mais informações sobre ativação in-loco e outras interfaces de documentos compostos.

Páginas de propriedades

Os controles podem fornecer páginas de propriedades para que os usuários finais possam exibir e alterar as propriedades do controle. Consulte Páginas de propriedades e Folhas de propriedades para obter mais informações sobre como as páginas de propriedades funcionam.

automação OLE

Os controles podem fornecer programação através da automação OLE para que os clientes possam aproveitar os recursos do controle através de uma linguagem de programação fornecida pelo cliente. Consulte a seção Automação OLE para obter mais informações sobre automação OLE.

Armazenamento persistente

Um controle pode implementar uma ou mais de várias interfaces de persistência para dar suporte à persistência de seu estado. O implementador de controle deve decidir quais tipos de persistência são mais importantes e implementar as interfaces de persistência apropriadas. O cliente decide qual interface prefere usar. Consulte The Component Object Model para obter mais informações sobre todas as interfaces de persistência.

Objetos de fonte e imagem

Os controles podem usar esses objetos fornecidos pelo sistema para fornecer uma representação visual de si mesmos dentro do cliente. O objeto font implementa várias interfaces, incluindo IFont e IFontDisp. Um objeto font pode ser criado com OleCreateFontIndirect. O objeto de imagem também implementa várias interfaces, incluindo IPicture e IPictureDisp. Um objeto de imagem pode ser criado usando OleCreatePictureIndirect e pode ser carregado de um fluxo com OleLoadPicture.

É importante entender que esses recursos podem ser usados em qualquer objeto OLE. Não é necessário implementar um controle para usar esses recursos. Além disso, a única interface necessária em um controle é IUnknown. O controle opcionalmente suporta outras interfaces com base na necessidade de suportar os recursos relacionados.

Além desses recursos, as seguintes interfaces e funções são específicas para a tecnologia de controles: IOleControl, IOleControlSite, ISimpleFrameSitee OleTranslateColor. Também específicos para controles são um conjunto de padrões para propriedades e métodos que um controle ou um contêiner de controle pode suportar.

Observação

A biblioteca do sistema OleAut32.dll contém implementações das funções (OleCreatePropertyFrame, OleCreatePropertyFrameIndirect, OleCreateFontIndirect, OleCreatePictureIndirect, OleLoadPicturee OleTranslateColor). Além disso, OleAut32.dll contém as implementações dos objetos de fonte e imagem padrão, bem como uma biblioteca de tipos para todas as interfaces usadas com controles, bem como as estruturas de dados adicionais e tipos de dados.

 

Para obter mais informações, consulte os seguintes tópicos:

Diretrizes de controle ActiveX e contêiner de controle