Interface IFont (ocidl.h)

Fournit un wrapper autour d’un objet de police Windows. L’objet de police COM prend en charge un certain nombre de propriétés en lecture/écriture, ainsi qu’un ensemble de méthodes via son interface IFont . Il prend en charge le même ensemble de propriétés (mais pas les méthodes) via l’interface de répartition IFontDisp, qui est dérivée d’IDispatch pour fournir l’accès aux propriétés de la police via Automation. Le système fournit une implémentation standard de l’objet police avec les deux interfaces.

L’objet police prend également en charge l’interface sortante IPropertyNotifySink afin qu’un client puisse déterminer quand les propriétés de police changent. Étant donné que l’objet police prend en charge au moins une interface sortante, il implémente également IConnectionPointContainer et les interfaces associées à cet effet.

L’objet police fournit une propriété hFont, qui est un handle de police Windows conforme aux autres attributs spécifiés pour la police. L’objet police retarde la réalisation de cet objet hFont dans la mesure du possible. Par conséquent, la définition consécutive de deux propriétés sur une police n’entraîne pas la réalisation d’une police intermédiaire. En outre, en tant qu’optimisation, l’objet police implémentée par le système gère un cache de poignées de police. Deux objets de police dans le même processus qui ont des propriétés identiques retournent le même handle de police. L’objet police peut supprimer des handles de police de ce cache à volonté, ce qui introduit des considérations spéciales pour les clients utilisant la propriété hFont.

L’objet police prend également en charge IPersistStream afin qu’il puisse enregistrer et se charger lui-même à partir d’un instance d’IStream. Un objet qui utilise un objet police en interne enregistre et charge normalement la police dans le cadre de la gestion de la persistance de l’objet.

En outre, l’objet police prend en charge IDataObject, qui peut afficher un jeu de propriétés contenant les attributs de la police, ce qui permet à un client d’enregistrer ces propriétés sous forme de texte.

Héritage

L’interface IFont hérite de l’interface IUnknown. IFont a également les types de membres suivants :

Méthodes

L’interface IFont possède ces méthodes.

 
IFont::AddRefHfont

Avertit l’objet police que la police précédemment réalisée identifiée avec hFont doit rester valide jusqu’à ce que ReleaseHfont soit appelé ou que l’objet police lui-même soit complètement libéré.
IFont::Clone

Crée un objet de police en double.
IFont::get_Bold

Obtient la propriété Bold actuelle de la police.
IFont::get_Charset

Récupère le jeu de caractères utilisé dans la police.
IFont::get_hFont

Récupère un handle de la police décrite par cet objet de police.
IFont::get_Italic

Obtient la propriété italique actuelle de la police.
IFont::get_Name

Récupère le nom de la famille de polices.
IFont::get_Size

Récupère la taille de point de la police.
IFont::get_Strikethrough

Obtient la propriété Strikethrough actuelle de la police.
IFont::get_Underline

Obtient la propriété Soulignement actuelle de la police.
IFont::get_Weight

Obtient la propriété Weight actuelle de la police.
IFont::IsEqual

Compare cet objet de police à un autre pour l’équivalence.
IFont::p ut_Bold

Définit la propriété Bold de la police.
IFont::p ut_Charset

Définit le jeu de caractères de la police.
IFont::p ut_Italic

Définit la propriété italique de la police.
IFont::p ut_Name

Spécifie un nouveau nom pour la famille de polices.
IFont::p ut_Size

Définit la taille de point de la police.
IFont::p ut_Strikethrough

Définit la propriété Strikethrough de la police.
IFont::p ut_Underline

Définit la propriété Soulignement de la police.
IFont::p ut_Weight

Définit la propriété Weight de la police.
IFont::QueryTextMetrics

Remplit une structure allouée à l’appelant avec des informations sur la police.
IFont::ReleaseHfont

Avertit l’objet police que l’appelant qui a précédemment verrouillé cette police dans le cache avec IFont::AddRefHfont n’a plus besoin du verrou.
IFont::SetHdc

Fournit un contexte d’appareil à la police qui décrit le mode de mappage logique.
IFont::SetRatio

Convertit le facteur de mise à l’échelle de cette police entre les unités logiques et les unités HIMETRIC.

Notes

Chaque propriété de l’interface IFont inclut une méthode get_PropertyName si la propriété prend en charge l’accès en lecture et une méthode put_PropertyName si la propriété prend en charge l’accès en écriture. La plupart de ces propriétés prennent en charge l’accès en lecture et en écriture.

Propriété Type Read Access, méthode Write Access, méthode Description
Nom BSTR get_Name put_Name Nom de visage de la police, par exemple Arial.
Taille CY get_Size put_Size Taille de point de la police, exprimée dans un type CY pour autoriser les tailles de points fractionnaires.
Gras BOOL get_Bold put_Bold Indique si la police est en gras.
Italique BOOL get_Italic put_Italic Indique si la police est en italique.
Souligner BOOL get_Underline put_Underline Indique si la police est soulignée.
Barré BOOL get_Strikethrough put_Strikethrough Indique si la police est barrée.
Poids short get_Weight put_Weight Gras de la police.
Charset short get_Charset put_Charset Jeu de caractères utilisé dans la police, tel que ANSI_CHARSET, DEFAULT_CHARSET ou SYMBOL_CHARSET.
hFont HFONT get_hFont Handle de police Windows qui peut être sélectionné dans un contexte d’appareil pour le rendu.
 

Implémentation OLE

Le système fournit une implémentation standard d’un objet de police avec l’interface IFont en plus de la prise en charge des polices système sous-jacentes. Un objet de police est créé via la fonction OleCreateFontIndirect. Un objet de police prend en charge un certain nombre de propriétés en lecture/écriture ainsi qu’un ensemble de méthodes via son interface IFont et prend en charge le même ensemble de propriétés (mais pas les méthodes) via une interface de répartition IFontDisp dérivée d’IDispatch pour fournir l’accès aux propriétés de la police via Automation. L’implémentation système de l’objet de police fournit les deux interfaces.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête ocidl.h

Voir aussi

IFontDisp