共用方式為


CreateFontIndirectW 函式 (wingdi.h)

CreateFontIndirect 函式會建立具有指定特性的邏輯字型。 後續可以將字型選取為任何裝置內容的目前字型。

語法

HFONT CreateFontIndirectW(
  [in] const LOGFONTW *lplf
);

參數

[in] lplf

定義邏輯字型特性之 LOGFONT 結構的指標。

傳回值

如果函式成功,則傳回值是邏輯字型的句柄。

如果函式失敗,傳回值為 NULL

備註

CreateFontIndirect 函式會使用 LOGFONT 結構中指定的特性來建立邏輯字型。 使用 SelectObject 函式選取此字型時,GDI 的字型對應程式會嘗試比對邏輯字型與現有的實體字型。 如果找不到完全相符的專案,它會提供一個替代方法,其特性會盡可能比對要求的許多特性。

若要在不同的操作系統語言版本上取得適當的字型,請使用LOGFONT結構中所需的字型特性呼叫EnumFontFamiliesEx、擷取適當的字樣名稱,以及使用 CreateFontCreateFontIndirect 建立字型。

當您不再需要字型時,請呼叫 DeleteObject 函式加以刪除。

許多東亞語言的字型有兩個字樣名稱:英文名稱和當地語系化名稱。 CreateFontCreateFontIndirect 只會在符合語言的系統地區設定上取得本地化的字樣名稱,而它們在所有其他系統地區設定上採用英文字樣名稱。 最佳方法是嘗試一個名稱,並在失敗時嘗試另一個名稱。 請注意,如果系統地區設定不符合字型的語言,EnumFontFamiliesEnumFontFamiliesEx 會傳回英文字樣名稱。

不論地區設定為何,CreateFontCreateFontIndirect 和 CreateFontIndirectEx 的字型對應程式都會辨識英文和當地語系化字樣名稱。

範例

如需範例,請參閱 建立邏輯字型

注意

wingdi.h 標頭會將 CreateFontIndirect 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 wingdi.h (包含 Windows.h)
程式庫 Gdi32.lib
Dll Gdi32.dll

另請參閱

CreateFont

CreateFontIndirectEx

DeleteObject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

字型和文字函式

字型和文字概觀

LOGFONT

SelectObject