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 cliente de controle para fornecer valores ambientais que se aplicam a todos os controles inseridos 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 de IDispatch implementado no objeto do site de um contêiner. O contêiner chama o método deIOleControl::OnAmbientPropertyChange do controle quando qualquer uma de suas propriedades ambientes 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 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, elas são implementadas 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 dá 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 der suporte a esse recurso. Um contêiner também pode optar por mostrar páginas de propriedades para seus controles estendidos, além dessas páginas que um controle normalmente especificaria por meio de ISpecifyPropertyPages. Por 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 obter mais informações, consulte os seguintes tópicos:

Métodos de controle