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:
- Arquitetura de controles ActiveX
- Interfaces de controles ActiveX
- Propriedades e Métodos
- Eventos de controle
- Representação Visual
- Manipulação do teclado para controles
- Persistência
- Registro e Licenciamento
Tópicos relacionados