Controles ActiveX

A tecnologia de controles ActiveX baseia-se 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 a interface IUnknown, por meio da qual os clientes podem obter ponteiros para suas outras interfaces. Os controles podem oferecer suporte ao licenciamento por meio do IClassFactory2 e ao auto-registro. Consulte O modelo de objeto de componente para obter mais informações sobre COM, licenciamento e auto-registro.

Objetos conectáveis

Os controles podem oferecer suporte a interfaces de saída por meio 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 de contêiner. Consulte 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 por meio da automação OLE para que os clientes possam aproveitar os recursos do controle por meio 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 oferecer 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 O modelo de objeto de componente 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 de fonte 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, ISimpleFrameSite e OleTranslateColor. Também específico para controles é 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, OleLoadPicture e OleTranslateColor). Além disso, OleAut32.dll contém as implementações da fonte padrão e objetos de imagem, 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 Mais informações, consulte os seguintes tópicos:

Diretrizes de controle ActiveX e contêiner de controle