Compartilhar via


Controles ActiveX

A tecnologia de controles ActiveX se baseia em uma base composta por COM, objetos conectáveis, documentos compostos, páginas de propriedades, automação OLE, persistência de objeto e objetos de fonte e imagem fornecidos pelo sistema. Conforme 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 dar suporte ao licenciamento por meio IClassFactory2 e 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 dar 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 de dados uniforme

Os controles podem dar suporte a ser arrastados e descartados 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 inserido 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 a ativação in-loco e outras interfaces de documento compostas.

Páginas de propriedades do

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 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 o modelo de objeto de componente para obter mais informações sobre todas as interfaces de persistência.

fonte e objetos de imagem

Os controles podem usar esses objetos fornecidos pelo sistema para fornecer uma representação visual de si mesmos dentro do cliente. O objeto de fonte 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. Opcionalmente, o controle dá suporte a outras interfaces com base na necessidade de dar suporte aos 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 são específicos para controles um conjunto de padrões para propriedades e métodos aos quais um controle ou um contêiner de controle pode dar suporte.

Nota

A biblioteca do sistema OleAut32.dll contém implementações das funções (OleCreatePropertyFrame, OleCreatePropertyFrameIndirect, OleCreOateFontIndirect, 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 e tipos de dados adicionais.

 

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

Diretrizes de contêiner de controle e controle do ActiveX