Partager via


Standard Font, objet

La propriété de police ambiante standard fournie par le conteneur et la propriété de police standard fournie par le contrôle fournissent tous deux un objet de police standard. Autrement dit, ces polices standard fournissent un pointeur IDispatch vers un objet de police standard.

L’objet de police est une implémentation fournie par le système d’un ensemble d’interfaces par-dessus la prise en charge des polices GDI sous-jacentes. Un objet font est créé via la fonction d’API OleCreateFontIndirect à partir d’une structure FONTDESC . L’objet font prend en charge un certain nombre de propriétés en lecture/écriture ainsi que des méthodes personnalisées via son interface IFont, et prend en charge le même ensemble de propriétés (mais pas les méthodes) via un IFontDisp dispinterface. La dispinterface est utilisée pour les propriétés de police mentionnées précédemment. Les propriétés correspondent aux attributs de police GDI décrits dans la structure LOGFONT .

L’objet font 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 font prend en charge au moins une interface sortante, il implémente également IConnectionPointContainer et un point de connexion pour IPropertyNotifySink à cet effet.

L’objet font fournit une propriété hFont qui est un handle de police Windows conforme aux autres attributs spécifiés pour la police. L’objet de police retarde la réalisation de cette police dans la mesure du possible. Ainsi, 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 de police standard conserve un cache de handles 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 font peut supprimer des polices de ce cache à volonté, ce qui introduit des considérations spéciales pour les clients qui utilisent cette propriété hFont. Pour plus d’informations , consultez IFont::get_hFont .

L’objet font prend également en charge IPersistStream de telle sorte qu’il peut enregistrer et se charger lui-même à partir d’un instance d’IStream. Tout autre objet qui utilise un objet de police en interne enregistrerait et chargeait normalement la police dans le cadre de la gestion de persistance de l’objet.

En outre, l’objet de police prend en charge IDataObject par le biais duquel il fournit un jeu de propriétés contenant des valeurs typées pour chaque propriété de police.

Propriétés du contrôle