Compartilhar via


Propriedades de controle

Além das propriedades definidas e implementadas pelo próprio controle, a tecnologia de controles ActiveX também envolve:

Propriedades do ambiente

Eles são expostos pelo contêiner por meio de um site de cliente de controle para fornecer valores ambientais que se aplicam a todos os controles incorporados no contêiner. Por exemplo, um contêiner pode fornecer uma cor de plano de fundo padrão ou uma fonte padrão que o controle pode usar. As propriedades de ambiente são expostas por meio de IDispatch implementado no objeto de site de um contêiner. O contêiner chama o método IOleControl::OnAmbientPropertyChange do controle quando qualquer uma de suas propriedades de ambiente altera o valor. Em resposta, um controle pode precisar atualizar seu próprio estado interno ou visual em resposta. O contêiner indica qual propriedade de ambiente foi alterada com o parâmetro DISPID ou pode passar DISPID_UNKNOWN para indicar que várias propriedades de ambiente foram alteradas.

Propriedades estendidas

Na verdade, eles são implementados por um contêiner para encapsular os controles que ele contém para fornecer propriedades gerenciadas por contêiner que aparecem como se fossem propriedades de controle nativas. O contêiner pode agregar o controle, adicionando as propriedades estendidas para complementar ou substituir as propriedades do controle. O objeto agregado é chamado de controle estendido. Para o contêiner, o controle estendido aparece como o próprio controle e as propriedades estendidas parecem ser expostas pelo controle. O contêiner oferece suporte a um controle estendido por meio de seu método de site cliente IOleControlSite::GetExtendedControl. O método GetExtendedControl permite que os controles naveguem pelo site até o objeto de controle estendido fornecido pelo contêiner, se o contêiner oferecer suporte a esse recurso. Um contêiner também pode optar por mostrar páginas de propriedades para seus controles estendidos, além daquelas páginas que um controle normalmente especificaria por meio de ISpecifyPropertyPages. Devido a isso, um controle precisa pedir a um contêiner para mostrar um quadro de propriedade antes que o controle tente fazer isso sozinho. O controle chama IOleControlSite::ShowPropertyFrame para fazer isso. Se o contêiner implementar essa função, ele mostrará o próprio quadro de propriedade; Se o método retornar um erro, o controle poderá mostrar o quadro de propriedade.

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

Métodos de Controle