GetTextExtentExPointI 函式 (wingdi.h)
GetTextExtentExPointI 函式會擷取指定字串中的字元數,該字串會容納在指定的空格中,並以每個字元的文字範圍填滿數位。 (文字範圍是空格開頭與符合空格的字元之間的距離。) 這項資訊對於自動換行計算很有用。
語法
BOOL GetTextExtentExPointI(
[in] HDC hdc,
[in] LPWORD lpwszString,
[in] int cwchString,
[in] int nMaxExtent,
[out] LPINT lpnFit,
[out] LPINT lpnDx,
[out] LPSIZE lpSize
);
參數
[in] hdc
裝置內容的句柄。
[in] lpwszString
要擷取範圍之字元索引數位的指標。
[in] cwchString
pgiIn 參數所指向之陣列中的字元數目。
[in] nMaxExtent
格式化字串的最大允許寬度,以邏輯單位表示。
[out] lpnFit
整數的指標,會接收 nMaxExtent 參數所指定空間中最大字元數的計數。 當 lpnFit 參數為 NULL 時, 會忽略 nMaxExtent 參數。
[out] lpnDx
接收部分字元範圍之整數陣列的指標。 陣列中的每個元素在字元索引數位的開頭與 符合 nMaxExtent 參數所指定空間的其中一個字元之間,都會以邏輯單位提供距離。 雖然此陣列至少應該有 cgi 參數所指定的字元索引數目,但函式會填滿陣列的範圍,只包含 lpnFit 參數所指定的字元索引數目。 如果 lpnFit 為 NULL,則函式不會計算部分字串寬度。
[out] lpSize
在邏輯單元中接收字元索引數位列維度之 SIZE 結構的指標。 此值不可為 NULL。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。
備註
如果 lpnFit 和 alpDx 參數都是 NULL,則呼叫 GetTextExtentExPointI 函式相當於呼叫 GetTextExtentPointI 函式。
當此函式傳回文字範圍時,它會假設文字為水準,也就是逸出器一律為 0。 這適用於文字的水準和垂直度量。 即使您使用指定非零逸出項的字型,此函式在計算文字範圍時不會使用角度。 應用程式必須明確轉換。 不過,當圖形模式設定為 GM_ADVANCED 且字元方向是列印方向的90度時,此函式傳回的值不會遵循此規則。 當指定字串的字元方向和列印方向符合時,此函式會將 SIZE 結構中的字串維度傳回為 { cx : 116, cy : 18 }。 當相同字串的字元方向和列印方向相隔 90 度時,此函式會將 SIZE 結構中的字串維度傳回為 { cx : 18, cy : 116 }。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |