共用方式為


STROBJ_bGetAdvanceWidths函式 (winddi.h)

STROBJ_bGetAdvanceWidths函式會擷取向量陣列,指定構成指定字串之字元的可能寬度。

語法

ENGAPI BOOL STROBJ_bGetAdvanceWidths(
       STROBJ  *pso,
  [in] ULONG   iFirst,
       ULONG   c,
       POINTQF *pptqD
);

參數

pso

這是描述文字字串 之 STROBJ 結構的呼叫端提供指標。 這通常是驅動程式 DrvTextOut 函式所收到的 STROBJ 結構。

[in] iFirst

這是由呼叫端提供的以零起始的索引,其為 STROBJ 結構所提供的文字字串。 此索引代表要傳回寬度之字串的第一個字元。

c

這是呼叫端提供的連續字元數目計數,開頭和 iFirst所指定的字元,其寬度值會傳回。

pptqD

這是一個呼叫端提供的指標,可接收 (28.36、28.36) 格式的 C 大小 POINTNS 結構陣列。 如需此數據類型的描述,請參閱 GDI 數據類型

傳回值

如果作業成功,函式會傳回 TRUE;否則會傳回 FALSE

備註

STROBJ_bGetAdvanceWidths函式對於呼叫 STROBJ_bEnumPositionsOnly 而非 STROBJ_bEnum 的印表機驅動程式很有用。 函式會在 pptqD 數位列中填入字串字元的可能寬度,而且如果印表機的圖像轉譯硬體未傳回確切字元寬度,則可以用來計算印表機所轉譯字串之後的印表機位置。

請注意, STROBJ_bEnumPositionsOnly 所傳回的字元位置不一定完全符合STROBJ_bGetAdvanceWidths傳回的寬度

規格需求

需求
最低支援的用戶端 適用於 Windows 2000 和更新版本的 Windows 作業系統。
目標平台 Universal
標頭 winddi.h (包含Winddi.h)
程式庫 Win32k.lib
Dll Win32k.sys

另請參閱

DrvTextOut

STROBJ

STROBJ_bEnum

STROBJ_bEnumPositionsOnly