Partilhar via


Objeto de fonte padrão

A propriedade de fonte ambiente padrão fornecida pelo contêiner e a propriedade de fonte padrão fornecida pelo controle fornecem um objeto de fonte padrão. Ou seja, essas fontes padrão fornecem um IDispatch ponteiro para um objeto de fonte padrão.

O objeto font é uma implementação fornecida pelo sistema de um conjunto de interfaces sobre o suporte de fonte GDI subjacente. Um objeto font é criado através da função API OleCreateFontIndirect dada uma estruturaFONTDESC. O objeto font suporta várias propriedades de leitura/gravação, bem como métodos personalizados por meio de sua interface IFont, e suporta o mesmo conjunto de propriedades (mas não os métodos) por meio de um dispinterface IFontDisp. O dispinterface é usado para as propriedades de fonte mencionadas anteriormente. As propriedades correspondem aos atributos de fonte GDI descritos na estruturaLOGFONT.

O objeto font também suporta a interface de saída IPropertyNotifySink para que um cliente possa determinar quando as propriedades da fonte são alteradas. Como o objeto font suporta pelo menos uma interface de saída, ele também implementa IConnectionPointContainer e um ponto de conexão para IPropertyNotifySink para essa finalidade.

O objeto font fornece uma propriedade hFont que é um identificador de fonte do Windows que está em conformidade com os outros atributos especificados para a fonte. O objeto font atrasa a realização dessa fonte quando possível, portanto, definir consecutivamente duas propriedades em uma fonte não fará com que uma fonte intermediária seja realizada. Além disso, como uma otimização, o objeto de fonte padrão mantém um cache de identificadores de fonte. Dois objetos de fonte no mesmo processo que têm propriedades idênticas retornarão o mesmo identificador de fonte. O objeto font pode remover fontes desse cache à vontade, o que introduz considerações especiais para clientes que usam essa propriedade hFont. Consulte IFont::get_hFont para obter mais detalhes.

O objeto font também suporta IPersistStream tal que ele pode salvar e carregar-se a partir de uma instância de IStream. Qualquer outro objeto que use um objeto font internamente normalmente salvaria e carregaria a fonte como parte do próprio tratamento de persistência do objeto.

Além disso, o objeto font suporta IDataObject através do qual ele fornece um conjunto de propriedades contendo valores digitados para cada propriedade de fonte.

propriedades de controle