GetTabbedTextExtentW 函式 (winuser.h)
GetTabbedTextExtent 函式會計算字元字串的寬度和高度。 如果字串包含一或多個製表符,則字串的寬度是以指定的製表位為基礎。 GetTabbedTextExtent 函式會使用目前選取的字型來計算字串的維度。
語法
DWORD GetTabbedTextExtentW(
[in] HDC hdc,
[in] LPCWSTR lpString,
[in] int chCount,
[in] int nTabPositions,
[in] const INT *lpnTabStopPositions
);
參數
[in] hdc
裝置內容的句柄。
[in] lpString
字元字串的指標。
[in] chCount
文字字串的長度。 針對 ANSI 函式,它是 BYTE 計數,而 Unicode 函式則是 WORD 計數。 請注意,針對 ANSI 函式,SBCS 代碼頁中的字元會分別採用一個字節,而 DBCS 代碼頁中的大部分字元則採用兩個字節;針對 Unicode 函式,大部分目前定義的 Unicode 字元 (基本多語系平面 (BMP) ) 是一個 WORD,而 Unicode 代理是兩個 WORD。
[in] nTabPositions
lpnTabStopPositions 參數指向之數位中的製表位位置數目。
[in] lpnTabStopPositions
數位的指標,其中包含裝置單位中的製錶位位置。 製表位必須依遞增順序排序;最小 x 值應該是陣列中的第一個專案。
傳回值
如果函式成功,則傳回值是邏輯單元中字串的維度。 高度是高序字,寬度是低序字。
如果函式失敗,則傳回值為 0。 如果 hDC 無效且 nTabPositions 小於 0,GetTabbedTextExtent 將會失敗。
備註
目前的裁剪區域不會影響 GetTabbedTextExtent 函式所傳回的寬度和高度。
由於某些裝置不會將字元放在一般單元格陣列中, (也就是說,它們會將字元) ,字串中字元的範圍總和可能不等於字元串的範圍。
如果 nTabPositions 參數為零, 且 lpnTabStopPositions 參數為 NULL,則索引卷標會擴充為平均字元寬度的八倍。
如果 nTabPositions 為 1,製表位會以 lpnTabStopPositions 指向之陣列中第一個值的距離分隔。
注意
winuser.h 標頭會根據 UNICODE 預處理器常數的定義,將 GetTabbedTextExtent 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |