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 |