Compartilhar 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 ponteiro de IDispatch para um objeto de fonte padrão.

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

O objeto de fonte também dá suporte à interface de saída IPropertyNotifySink para que um cliente possa determinar quando as propriedades da fonte são alteradas. Como o objeto de fonte dá suporte a 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 de fonte 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 de fonte atrasa a realização dessa fonte quando possível, portanto, a configuração consecutiva de 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 de fonte pode remover fontes desse cache à vontade, o que apresenta considerações especiais para clientes que usam essa propriedade hFont. Consulte IFont::get_hFont para obter mais detalhes.

O objeto de fonte também dá suporte a IPersistStream, de modo que ele possa salvar e carregar-se de uma instância de IStream. Qualquer outro objeto que usa um objeto de fonte internamente normalmente salvaria e carregaria a fonte como parte do tratamento de persistência do próprio objeto.

Além disso, o objeto de fonte dá suporte a IDataObject por meio do qual ele fornece um conjunto de propriedades contendo valores tipados para cada propriedade de fonte.

propriedades de controle