Interface IFont (ocidl.h)

Fornece um wrapper em torno de um objeto de fonte do Windows. O objeto de fonte COM dá suporte a várias propriedades de leitura/gravação, bem como a um conjunto de métodos por meio de sua interface IFont . Ele dá suporte ao mesmo conjunto de propriedades (mas não aos métodos) por meio da interface de expedição IFontDisp, que é derivada de IDispatch para fornecer acesso às propriedades da fonte por meio da Automação. O sistema fornece uma implementação padrão do objeto font com ambas as interfaces.

O objeto font 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 font dá suporte a pelo menos uma interface de saída, ele também implementa IConnectionPointContainer e interfaces relacionadas 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 desse objeto hFont 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 implementado pelo sistema 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 identificadores de fonte desse cache à vontade, o que apresenta considerações especiais para clientes que usam a propriedade hFont.

O objeto font também dá suporte a IPersistStream para que ele possa salvar e carregar a si mesmo de uma instância do IStream. Um 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 font dá suporte a IDataObject, que pode renderizar um conjunto de propriedades que contém os atributos da fonte, permitindo que um cliente salve essas propriedades como texto.

Herança

A interface IFont herda da interface IUnknown . O IFont também tem estes tipos de membros:

Métodos

A interface IFont tem esses métodos.

 
IFont::AddRefHfont

Notifica o objeto de fonte de que a fonte realizada anteriormente identificada com hFont deve permanecer válida até que ReleaseHfont seja chamado ou o próprio objeto de fonte seja liberado completamente.
IFont::Clone

Cria um objeto de fonte duplicado.
IFont::get_Bold

Obtém a propriedade Bold atual da fonte.
IFont::get_Charset

Recupera o conjunto de caracteres usado na fonte.
IFont::get_hFont

Recupera um identificador para a fonte descrita por este objeto de fonte.
IFont::get_Italic

Obtém a propriedade Itálico atual da fonte.
IFont::get_Name

Recupera o nome da família de fontes.
IFont::get_Size

Recupera o tamanho do ponto da fonte.
IFont::get_Strikethrough

Obtém a propriedade Strikethrough atual da fonte.
IFont::get_Underline

Obtém a propriedade Underline atual da fonte.
IFont::get_Weight

Obtém a propriedade Weight atual da fonte.
IFont::IsEqual

Compara esse objeto de fonte com outro para equivalência.
IFont::p ut_Bold

Define a propriedade Bold da fonte.
IFont::p ut_Charset

Define o conjunto de caracteres da fonte.
IFont::p ut_Italic

Define a propriedade Itálico da fonte.
IFont::p ut_Name

Especifica um novo nome para a família de fontes.
IFont::p ut_Size

Define o tamanho do ponto da fonte.
IFont::p ut_Strikethrough

Define a propriedade Strikethrough da fonte.
IFont::p ut_Underline

Define a propriedade Underline da fonte.
IFont::p ut_Weight

Define a propriedade Weight da fonte.
IFont::QueryTextMetrics

Preenche uma estrutura alocada pelo chamador com informações sobre a fonte.
IFont::ReleaseHfont

Notifica o objeto de fonte de que o chamador que bloqueou anteriormente essa fonte no cache com IFont::AddRefHfont não requer mais o bloqueio.
IFont::SetHdc

Fornece um contexto de dispositivo para a fonte que descreve o modo de mapeamento lógico.
IFont::SetRatio

Converte o fator de dimensionamento dessa fonte entre unidades lógicas e unidades HIMETRIC.

Comentários

Cada propriedade na interface IFont inclui um método get_PropertyName se a propriedade der suporte ao acesso de leitura e a um método put_PropertyName se a propriedade der suporte ao acesso de gravação. A maioria dessas propriedades dá suporte ao acesso de leitura e gravação.

Propriedade Type Método Read Access Método Write Access Descrição
Nome BSTR get_Name put_Name O nome da face da fonte, por exemplo, Arial.
Tamanho CY get_Size put_Size O tamanho do ponto da fonte, expresso em um tipo CY para permitir tamanhos de ponto fracionários.
Negrito BOOL get_Bold put_Bold Indica se a fonte está em negrito.
Itálico BOOL get_Italic put_Italic Indica se a fonte está em itálico.
Sublinhar BOOL get_Underline put_Underline Indica se a fonte está sublinhada.
Tachado BOOL get_Strikethrough put_Strikethrough Indica se a fonte é tachada.
Weight short get_Weight put_Weight A negrito da fonte.
Charset short get_Charset put_Charset O conjunto de caracteres usado na fonte, como ANSI_CHARSET, DEFAULT_CHARSET ou SYMBOL_CHARSET.
Hfont HFONT get_hFont O identificador de fonte do Windows que pode ser selecionado em um contexto de dispositivo para renderização.
 

Implementação de OLE

O sistema fornece uma implementação padrão de um objeto de fonte com a interface IFont sobre o suporte à fonte do sistema subjacente. Um objeto de fonte é criado por meio da função OleCreateFontIndirect. Um objeto de fonte dá suporte a várias propriedades de leitura/gravação, bem como um conjunto de métodos por meio de sua interface IFont e dá suporte ao mesmo conjunto de propriedades (mas não aos métodos) por meio de uma interface de expedição IFontDisp que é derivada de IDispatch para fornecer acesso às propriedades da fonte por meio da Automação. A implementação do sistema do objeto de fonte fornece ambas as interfaces.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho ocidl.h

Confira também

Ifontdisp