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

O objeto font é uma implementação fornecida pelo sistema de um conjunto de interfaces sobre o suporte a fonte GDI subjacente. Um objeto de fonte é criado por meio da função de API OleCreateFontIndirect dada uma estrutura FONTDESC. O objeto font oferece suporte a várias propriedades de leitura/gravação, bem como métodos personalizados por meio de sua interface IFont, e oferece suporte ao mesmo conjunto de propriedades (mas não aos 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 estrutura LOGFONT.

O objeto font também oferece suporte à interface de saída IPropertyNotifySink para que um cliente possa determinar quando as propriedades da fonte são alteradas. Como o objeto font oferece 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 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 oferece suporte a IPersistStream para que ele possa salvar e carregar a si mesmo de uma instância de IStream. Qualquer outro objeto que use um objeto de fonte internamente normalmente salvaria e carregaria a fonte como parte do próprio tratamento de persistência do objeto.

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

Propriedades de controle