ExtTextOutA 函式 (wingdi.h)
ExtTextOut 函式會使用目前選取的字型、背景色彩和文字色彩來繪製文字。 您可以選擇性地提供用於裁剪、不透明或兩者的維度。
語法
BOOL ExtTextOutA(
[in] HDC hdc,
[in] int x,
[in] int y,
[in] UINT options,
[in] const RECT *lprect,
[in] LPCSTR lpString,
[in] UINT c,
[in] const INT *lpDx
);
參數
[in] hdc
裝置內容的句柄。
[in] x
參考點的 X 座標,以邏輯座標表示,用來放置字串。
[in] y
用來放置字串之參考點的邏輯座標 Y 座標。
[in] options
指定如何使用應用程式定義的矩形。 此參數可以是下列其中一或多個值。
無法同時使用ETO_GLYPH_INDEX和ETO_RTLREADING值。 由於ETO_GLYPH_INDEX表示所有語言處理都已完成,因此如果同時指定,函式會忽略ETO_RTLREADING旗標。
[in] lprect
選擇性 RECT 結構的指標,指定用於裁剪、不透明或兩者之矩形的邏輯座標維度。
[in] lpString
字串的指標,指定要繪製的文字。 字串不需要以零結束,因為 cbCount 會指定字串的長度。
[in] c
此值不可超過8192。
[in] lpDx
值選擇性陣列的指標,表示相鄰字元儲存格的原點之間的距離。 例如,lpDx[i] 邏輯單元會分隔 i 和字元儲存格 i + 1 的字元儲存格原點。
傳回值
如果繪製字串,則傳回值為非零值。 不過,如果使用 ETO_GLYPH_INDEX 呼叫 anSI 版本的 extTextOut,即使函式沒有執行任何動作,函式仍會傳回 true true。
如果函式失敗,傳回值為零。
言論
指定裝置內容的目前文字對齊設定會決定參考點如何用來放置文字。 藉由呼叫 getTextAlign 函式來擷取文字對齊設定。 藉由呼叫 setTextAlign 函式
如果 lpDx 參數 NULL,則 ExtTextOut 函式會使用字元之間的預設間距。 lpDx 參數所指向之陣列的字元儲存格原點和內容是以邏輯單位指定。 字元儲存格原點定義為字元儲存格的左上角。
根據預設,此函式不會使用或更新目前的位置。 不過,應用程式可以呼叫 SetTextAlign 函式,並將 fMode 參數設定為 TA_UPDATECP,以允許系統每次應用程式呼叫 ExtTextOut 指定裝置內容時,使用和更新目前的位置。 設定此旗標時,系統會忽略後續 ExtTextOut 呼叫上的 X 和 Y 參數。
針對
請注意,GetTextExtentExPointalpDx 值與 ExtTextOutlpDx 值不同。 若要在 lpDx中使用 alpDx 值,您必須先處理它們。
ExtTextOut 會在必要時使用 Uniscribe,進而產生字型後援。 ETO_IGNORELANGUAGE旗標會抑制此行為,不應傳遞。
此外,ExtTextOut 會在轉換至核心模式之前執行內部批次呼叫,在權衡使用 PolyTextOut 與 ExtTextOut時,降低某些效能考慮。
提示
ExtTextOut 強烈建議 PolyTextOut,因為它能夠處理不同語言的顯示。
例子
如需範例,請參閱使用功能表
注意
wingdi.h 標頭會將 ExtTextOut 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wingdi.h (包括 Windows.h) |
連結庫 | Gdi32.lib |
DLL | Gdi32.dll |