Partilhar via


Propriedades de controle

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

Propriedades ambientais

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 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 IDispatch implementado no objeto de site de um contêiner. O contêiner chama o do controle IOleControl::OnAmbientPropertyChange método quando qualquer uma de suas propriedades ambientais muda de 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 ambientais 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 suporta um controle estendido por meio de seu método de site cliente IOleControlSite::GetExtendedControl. O GetExtendedControl método permite que os controles naveguem pelo site até o objeto de controle estendido fornecido para eles 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 das páginas que um controle normalmente especificaria por meio ISpecifyPropertyPages. Por causa disso, um controle tem que pedir a um contêiner para mostrar um quadro de propriedade antes que o controle tente fazer isso sozinho. O controle chama IOleControlSite::ShowPropertyFrame fazer isso. Se o contêiner implementa essa função, ele mostra o próprio quadro de propriedade; Se o método retorna um erro, o controle pode mostrar o quadro de propriedade.

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

Métodos de Controlo