容器所提供的標準環境字型屬性和 控件所提供的標準字型屬性都提供標準字型物件。 也就是說,這些標準字型會提供標準字型物件的 IDispatch 指標。
字型對像是基礎 GDI 字型支援之上一組介面的系統提供實作。 根據 FONTDESC 結構,透過 OleCreateFontIndirect API 函式建立字型物件。 字型物件支援許多讀取/寫入屬性,以及透過其介面 IFont的自定義方法,並且透過 dispinterface IFontDisp支援相同的屬性集(但不支援方法)。 dispinterface 用於先前所述的字型屬性。 屬性會對應至 LOGFONT 結構中所描述的 GDI 字型屬性。
字型物件也支持傳出介面 IPropertyNotifySink,讓用戶端可以判斷字型屬性何時變更。 由於字型物件至少支援一個傳出介面,因此也會針對此目的實作 IConnectionPointContainer 和一個連接點 IPropertyNotifySink。
字型物件提供 hFont 屬性,該屬性是 Windows 字型句柄,符合為字型指定的其他屬性。 字型物件會盡可能延遲實現此字型,因此在字型上連續設定兩個屬性不會讓中繼字型實現。 此外,作為優化,標準字型物件會維護字型句柄的快取。 相同進程中有相同屬性的兩個字型物件會傳回相同的字型句柄。 字型物件可以從這個快取中移除字型,這會針對使用此 hFont 屬性的用戶端導入特殊考慮。 如需詳細資訊,請參閱 IFont::get_hFont。
字型物件也支援 IPersistStream,這樣它就可以從 IStream實例儲存和載入自己。 在內部使用字型物件的任何其他物件通常會儲存並載入字型,做為物件本身持續性處理的一部分。
此外,字型物件支援 IDataObject,透過此物件提供屬性集,其中包含每個字型屬性的具型別值。
相關主題