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 參數所指定的字元索引數目。 如果 lpnFitNULL,則函式不會計算部分字串寬度。

[out] lpSize

在邏輯單元中接收字元索引數位列維度之 SIZE 結構的指標。 此值不可為 NULL

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。

備註

如果 lpnFitalpDx 參數都是 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

另請參閱

字型和文字函式

字型和文字概觀

GetTextExtentPoint

SIZE