Interfaccia IFont (ocidl.h)

Fornisce un wrapper intorno a un oggetto carattere di Windows. L'oggetto carattere COM supporta diverse proprietà di lettura/scrittura, nonché un set di metodi tramite l'interfaccia IFont . Supporta lo stesso set di proprietà (ma non i metodi) tramite l'interfaccia dispatch IFontDisp, derivato da IDispatch per fornire l'accesso alle proprietà del tipo di carattere tramite Automazione. Il sistema fornisce un'implementazione standard dell'oggetto carattere con entrambe le interfacce.

L'oggetto font supporta anche l'interfaccia in uscita IPropertyNotifySink in modo che un client possa determinare quando le proprietà del tipo di carattere cambiano. Poiché l'oggetto carattere supporta almeno un'interfaccia in uscita, implementa anche IConnectionPointContainer e le interfacce correlate a questo scopo.

L'oggetto font fornisce una proprietà hFont, ovvero un handle di carattere di Windows conforme agli altri attributi specificati per il tipo di carattere. L'oggetto carattere ritarda la realizzazione di questo oggetto hFont quando possibile, pertanto l'impostazione consecutiva di due proprietà su un tipo di carattere non comporterà la realizzazione di un tipo di carattere intermedio. Inoltre, come ottimizzazione, l'oggetto carattere implementato dal sistema gestisce una cache di handle di carattere. Due oggetti carattere nello stesso processo con proprietà identiche restituiranno lo stesso handle di carattere. L'oggetto font può rimuovere gli handle di carattere da questa cache in modo che introduca considerazioni speciali per i client che usano la proprietà hFont.

L'oggetto font supporta anche IPersistStream in modo che possa salvare e caricare se stesso da un'istanza di IStream. Un oggetto che usa un oggetto font internamente salva e carica il tipo di carattere come parte della gestione della persistenza dell'oggetto.

Inoltre, l'oggetto font supporta IDataObject, che può eseguire il rendering di un set di proprietà contenente gli attributi del tipo di carattere, consentendo a un client di salvare queste proprietà come testo.

Ereditarietà

L'interfaccia IFont eredita dall'interfaccia IUnknown . IFont ha anche questi tipi di membri:

Metodi

L'interfaccia IFont include questi metodi.

 
IFont::AddRefHfont

Notifica all'oggetto carattere che il tipo di carattere identificato in precedenza con hFont deve rimanere valido fino a quando ReleaseHfont non viene chiamato o l'oggetto carattere stesso viene rilasciato completamente.
IFont::Clone

Crea un oggetto carattere duplicato.
IFont::get_Bold

Ottiene la proprietà Grassetto corrente del tipo di carattere.
IFont::get_Charset

Recupera il set di caratteri utilizzato nel tipo di carattere.
IFont::get_hFont

Recupera un handle per il tipo di carattere descritto da questo oggetto tipo di carattere.
IFont::get_Italic

Ottiene la proprietà Italic corrente del tipo di carattere.
IFont::get_Name

Recupera il nome della famiglia di caratteri.
IFont::get_Size

Recupera la dimensione del punto del tipo di carattere.
IFont::get_Strikethrough

Ottiene la proprietà Strikethrough corrente del tipo di carattere.
IFont::get_Underline

Ottiene la proprietà Underline corrente del tipo di carattere.
IFont::get_Weight

Ottiene la proprietà Weight corrente del tipo di carattere.
IFont::IsEqual

Confronta questo oggetto carattere con un altro oggetto per verificarne l'equivalenza.
IFont::p ut_Bold

Imposta la proprietà Bold del tipo di carattere.
IFont::p ut_Charset

Imposta il set di caratteri del tipo di carattere.
IFont::p ut_Italic

Imposta la proprietà Italic del tipo di carattere.
IFont::p ut_Name

Specifica un nuovo nome per la famiglia di caratteri.
IFont::p ut_Size

Imposta la dimensione del punto del tipo di carattere.
IFont::p ut_Strikethrough

Imposta la proprietà Strikethrough del tipo di carattere.
IFont::p ut_Underline

Imposta la proprietà Underline del tipo di carattere.
IFont::p ut_Weight

Imposta la proprietà Weight del tipo di carattere.
IFont::QueryTextMetrics

Riempie una struttura allocata dal chiamante con informazioni sul tipo di carattere.
IFont::ReleaseHfont

Notifica all'oggetto carattere che il chiamante che in precedenza ha bloccato questo tipo di carattere nella cache con IFont::AddRefHfont non richiede più il blocco.
IFont::SetHdc

Fornisce un contesto di dispositivo al tipo di carattere che descrive la modalità di mapping logico.
IFont::SetRatio

Converte il fattore di ridimensionamento per questo tipo di carattere tra unità logiche e unità HIMETRIC.

Commenti

Ogni proprietà nell'interfaccia IFont include un metodo get_PropertyName se la proprietà supporta l'accesso in lettura e un metodo put_PropertyName se la proprietà supporta l'accesso in scrittura. La maggior parte di queste proprietà supporta sia l'accesso in lettura che in scrittura.

Proprietà Type Metodo di accesso in lettura Metodo di accesso in scrittura Descrizione
Nome BSTR get_Name put_Name Nome faccia del tipo di carattere, ad esempio Arial.
Dimensione CY get_Size put_Size Dimensione del punto del tipo di carattere, espressa in un tipo CY per consentire le dimensioni dei punti frazionari.
Grassetto BOOL get_Bold put_Bold Indica se il tipo di carattere è grassetto.
Corsivo BOOL get_Italic put_Italic Indica se il tipo di carattere è in corsivo.
Sottolineato BOOL get_Underline put_Underline Indica se il tipo di carattere è sottolineato.
barrato BOOL get_Strikethrough put_Strikethrough Indica se il tipo di carattere è barrato.
Weight short get_Weight put_Weight Grassetto del tipo di carattere.
Charset short get_Charset put_Charset Set di caratteri utilizzato nel tipo di carattere, ad esempio ANSI_CHARSET, DEFAULT_CHARSET o SYMBOL_CHARSET.
hFont HFONT get_hFont Handle del tipo di carattere di Windows che può essere selezionato in un contesto di dispositivo per il rendering.
 

Implementazione OLE

Il sistema fornisce un'implementazione standard di un oggetto carattere con l'interfaccia IFont sopra il supporto del tipo di carattere di sistema sottostante. Un oggetto font viene creato tramite la funzione OleCreateFontIndirect. Un oggetto font supporta una serie di proprietà di lettura/scrittura, nonché un set di metodi tramite l'interfaccia IFont e supporta lo stesso set di proprietà (ma non i metodi) tramite un'interfaccia dispatch IFontDisp derivata da IDispatch per fornire l'accesso alle proprietà del tipo di carattere tramite Automazione. L'implementazione di sistema dell'oggetto carattere fornisce entrambe le interfacce.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione ocidl.h

Vedi anche

IFontDisp