Interfaz IFont (ocidl.h)

Proporciona un contenedor alrededor de un objeto de fuente de Windows. El objeto de fuente COM admite una serie de propiedades de lectura y escritura, así como un conjunto de métodos a través de su interfaz IFont . Admite el mismo conjunto de propiedades (pero no los métodos) a través de la interfaz de distribución IFontDisp, que se deriva de IDispatch para proporcionar acceso a las propiedades de la fuente a través de Automation. El sistema proporciona una implementación estándar del objeto de fuente con ambas interfaces.

El objeto font también admite la interfaz saliente IPropertyNotifySink para que un cliente pueda determinar cuándo cambian las propiedades de fuente. Dado que el objeto de fuente admite al menos una interfaz saliente, también implementa IConnectionPointContainer e interfaces relacionadas para este fin.

El objeto font proporciona una propiedad hFont, que es un identificador de fuente de Windows que se ajusta a los demás atributos especificados para la fuente. El objeto de fuente retrasa la realización de este objeto hFont cuando sea posible, por lo que establecer consecutivamente dos propiedades en una fuente no hará que se realice una fuente intermedia. Además, como optimización, el objeto de fuente implementado por el sistema mantiene una caché de identificadores de fuente. Dos objetos de fuente en el mismo proceso que tienen propiedades idénticas devolverán el mismo identificador de fuente. El objeto de fuente puede quitar los identificadores de fuente de esta memoria caché a voluntad, lo que presenta consideraciones especiales para los clientes que usan la propiedad hFont.

El objeto font también admite IPersistStream para que pueda guardarse y cargarse desde una instancia de IStream. Un objeto que usa un objeto de fuente internamente guardaría y cargaría la fuente como parte del propio control de persistencia del objeto.

Además, el objeto de fuente admite IDataObject, que puede representar un conjunto de propiedades que contiene los atributos de la fuente, lo que permite a un cliente guardar estas propiedades como texto.

Herencia

La interfaz IFont hereda de la interfaz IUnknown . IFont también tiene estos tipos de miembros:

Métodos

La interfaz IFont tiene estos métodos.

 
IFont::AddRefHfont

Notifica al objeto de fuente que la fuente realizada anteriormente identificada con hFont debe permanecer válida hasta que se llame a ReleaseHfont o el propio objeto de fuente se libere por completo.
IFont::Clone

Crea un objeto de fuente duplicado.
IFont::get_Bold

Obtiene la propiedad Bold actual de la fuente.
IFont::get_Charset

Recupera el juego de caracteres usado en la fuente.
IFont::get_hFont

Recupera un identificador de la fuente descrita por este objeto de fuente.
IFont::get_Italic

Obtiene la propiedad cursiva actual de la fuente.
IFont::get_Name

Recupera el nombre de la familia de fuentes.
IFont::get_Size

Recupera el tamaño de punto de la fuente.
IFont::get_Strikethrough

Obtiene la propiedad Strikethrough actual de la fuente.
IFont::get_Underline

Obtiene la propiedad Underline actual de la fuente.
IFont::get_Weight

Obtiene la propiedad Weight actual de la fuente.
IFont::IsEqual

Compara este objeto de fuente con otro para la equivalencia.
IFont::p ut_Bold

Establece la propiedad Bold de la fuente.
IFont::p ut_Charset

Establece el juego de caracteres de la fuente.
IFont::p ut_Italic

Establece la propiedad Cursiva de la fuente.
IFont::p ut_Name

Especifica un nuevo nombre para la familia de fuentes.
IFont::p ut_Size

Establece el tamaño de punto de la fuente.
IFont::p ut_Strikethrough

Establece la propiedad Strikethrough de la fuente.
IFont::p ut_Underline

Establece la propiedad Underline de la fuente.
IFont::p ut_Weight

Establece la propiedad Weight de la fuente.
IFont::QueryTextMetrics

Rellena una estructura asignada por el autor de la llamada con información sobre la fuente.
IFont::ReleaseHfont

Notifica al objeto de fuente que el autor de la llamada que ha bloqueado previamente esta fuente en la memoria caché con IFont::AddRefHfont ya no requiere el bloqueo.
IFont::SetHdc

Proporciona un contexto de dispositivo a la fuente que describe el modo de asignación lógica.
IFont::SetRatio

Convierte el factor de escalado de esta fuente entre unidades lógicas y unidades HIMETRIC.

Comentarios

Cada propiedad de la interfaz IFont incluye un método get_PropertyName si la propiedad admite el acceso de lectura y un método put_PropertyName si la propiedad admite el acceso de escritura. La mayoría de estas propiedades admiten el acceso de lectura y escritura.

Propiedad Tipo Read Access (método) Write Access (método) Descripción
Nombre BSTR get_Name put_Name El nombre facial de la fuente, por ejemplo, Arial.
Tamaño CY get_Size put_Size Tamaño de punto de la fuente, expresado en un tipo CY para permitir tamaños de punto fraccionarios.
Negrita BOOL get_Bold put_Bold Indica si la fuente está en negrita.
Cursiva BOOL get_Italic put_Italic Indica si la fuente está en cursiva.
Subrayar BOOL get_Underline put_Underline Indica si la fuente está subrayada.
Tachado BOOL get_Strikethrough put_Strikethrough Indica si la fuente es tachado.
Peso short get_Weight put_Weight Negrita de la fuente.
Charset short get_Charset put_Charset Juego de caracteres usado en la fuente, como ANSI_CHARSET, DEFAULT_CHARSET o SYMBOL_CHARSET.
hFont HFONT get_hFont Identificador de fuente de Windows que se puede seleccionar en un contexto de dispositivo para la representación.
 

Implementación OLE

El sistema proporciona una implementación estándar de un objeto de fuente con la interfaz IFont sobre la compatibilidad de fuentes del sistema subyacente. Se crea un objeto de fuente a través de la función OleCreateFontIndirect. Un objeto de fuente admite una serie de propiedades de lectura y escritura, así como un conjunto de métodos a través de su interfaz IFont y admite el mismo conjunto de propiedades (pero no los métodos) a través de una interfaz de distribución IFontDisp que se deriva de IDispatch para proporcionar acceso a las propiedades de la fuente a través de Automation. La implementación del sistema del objeto de fuente proporciona ambas interfaces.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado ocidl.h

Consulte también

IFontDisp