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