共用方式為


GetTextExtentExPointA 函式 (wingdi.h)

GetTextExtentExPoint 函式會擷取指定字串中符合指定空格的字元數,並以每個字元的文字範圍填滿數位。 (文字範圍是空格開頭與將放入空格的字元之間的距離。這項資訊適用於自動換行計算。

語法

BOOL GetTextExtentExPointA(
  [in]  HDC    hdc,
  [in]  LPCSTR lpszString,
  [in]  int    cchString,
  [in]  int    nMaxExtent,
  [out] LPINT  lpnFit,
  [out] LPINT  lpnDx,
  [out] LPSIZE lpSize
);

參數

[in] hdc

裝置內容的句柄。

[in] lpszString

要擷取範圍之 Null 終止字串的指標。

[in] cchString

lpszStr 參數所指向字串中的字元數。 若為 ANSI 呼叫,它會以位元組為單位指定字串長度,而 Unicode 則指定 WORD 中的字串長度。 請注意,針對 ANSI 函式,SBCS 代碼頁中的字元會各接受一個字節,而 DBCS 代碼頁中的大多數字元則採用兩個字節:針對 Unicode 函式,目前定義的 Unicode 字元(基本多語平面 (BMP) 中的字元是一個 WORD,而 Unicode 代理則是兩個 WORD。

[in] nMaxExtent

格式化字串的最大允許寬度,以邏輯單位表示。

[out] lpnFit

整數的指標,可接收最大字元數的計數,該數目將符合 nMaxExtent 參數所指定之空格。 當 lpnFit 參數 NULL時,會忽略 nMaxExtent 參數

[out] lpnDx

接收部分字串範圍之整數數位的指標。 陣列中的每個元素都會提供字串開頭與 nMaxExtent 參數所指定空間中的其中一個字元之間的距離。 此陣列必須至少有 cchString 參數所指定的元素數目,因為整個陣列是在內部使用。 函式會以 lpnFit 參數所指定之字元數的有效範圍填滿陣列。 應忽略數位其餘部分的任何值。 如果 alpDxNULL,則函式不會計算部分字串寬度。

對於複雜腳本,其中字元序列可能以任意數目字元表示,alpDx 陣列中的值會依 lpnFit 參數所指定的數位與代碼點相符。 同樣地,您應該忽略 alpDx 陣列中的其餘值。

[out] lpSize

SIZE 結構的指標,這個結構會以邏輯單位接收字串的維度。 這個參數不能 NULL

傳回值

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

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

言論

如果 lpnFitalpDx 參數都 NULL,則呼叫 GetTextExtentExpoint 函式相當於呼叫 GetTextExtentPoint 函式。

針對 GetTextExtentExPoint的 ANSI 版本,lpDx 陣列的 INT 值數目與 lpString中有位元組數相同。 對應至 DBCS 字元兩個字節的 INT 值,都是整個複合字元的範圍。

請注意,GetTextExtentExPointalpDx 值與 ExtTextOutlpDx 值不同。 若要在 lpDx中使用 alpDx 值,您必須先處理它們。

當此函式傳回文字範圍時,它會假設文字為水準,也就是逸出器一律為 0。 這適用於文字的水準和垂直測量。 即使您使用指定非零逸出項的字型,此函式也不會在計算文字範圍時使用角度。 應用程式必須明確轉換。 不過,當圖形模式設定為 GM_ADVANCED 字元方向與列印方向為90度時,此函式傳回的值不會遵循此規則。 當指定字串的字元方向和列印方向相符時,此函式會以 { cx : 116, cy : 18 } 的形式傳回 SIZE 結構中的字元串維度。 當相同字串的字元方向和列印方向相距 90 度時,此函式會以 { cx : 18, cy : 116 } 的形式傳回 SIZE 結構中的字元串維度。

此函式會傳回字串中每個連續字元的範圍。 當這些四捨五入為邏輯單元時,您會得到與 getCharWidth傳回的結果不同,這會傳回每個個別字元四捨五入為邏輯單元的寬度。

注意

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

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 wingdi.h (包括 Windows.h)
連結庫 Gdi32.lib
DLL Gdi32.dll

另請參閱

字型和文字函式

字型和文字概觀

GetTextExtentPoint

SIZE