ExtTextOut

【勇芳软件工作室】汉化HomePreviousNext

ExtTextOut函数使用当前选定的字体绘制一个字符串。可以提供一个可选的矩形,用于剪裁,不透明或两者。

BOOL ExtTextOut(

HDC 【HDC】,//处理设备上下文
INT 【X】,//参考点的x坐标
INT 【Y】,//参考点的y坐标
UINT 【fuOptions】,//文本输出选项
CONST RECT 【* LPRC】,//可选剪裁和/或opaquing矩形
LPCTSTR 【lpString】,//指向字符串
UINT 【cbCount】,//字符串中的字符数
CONST INT 【* lpDx】//指向字符间距值数组的指针
); 

参数

【HDC】

标识设备上下文。

【X】

指定用于定位字符串的参考点的逻辑x坐标。

【Y】

指定用于定位字符串的参考点的逻辑y坐标。

【fuOptions】

指定如何使用应用程序定义的矩形。此参数可以是以下值的组合:

含义
ETO_CLIPPED文本将被剪切到矩形。
ETO_GLYPH_INDEX仅Windows 95: 【lpString】数组是指从GetCharacterPlacement返回的数组,应由GDI直接解析,因为不需要进一步的语言特定处理。字形索引仅适用于TrueType字体,但该标志可用于Windows位图和矢量字体,表示无需进一步的语言处理,GDI应直接处理字符串。请注意,即使字符串被假定为栅格字体的8位值数组,所有字形索引都是16位值。
ETO_OPAQUE当前的背景颜色应该用来填充矩形。
ETO_RTLREADING仅Windows 95:如果指定了此值,并在设备上下文中选择了希伯来语或阿拉伯语字体,则使用从右到左的读取顺序输出字符串。如果未指定此值,则以从左到右的顺序输出字符串。通过在SetTextAlign中设置TA_RTLREADING值可以获得相同的效果。此值保留为向后兼容性。

ETO_GLYPH_INDEX和ETO_RTLREADING值不能一起使用。因为ETO_GLYPH_INDEX意味着所有语言处理已经完成,所以如果同时指定了该函数,该函数将忽略ETO_RTLREADING标志。

【LPRC】

指向可选的RECT结构,指定用于裁剪,opaquing或两者的矩形的尺寸。

【lpString】

指向要绘制的字符串。该字符串不需要为零终止,因为【cbCount】指定字符串的长度。

【cbCount】

指定字符串中的字符数。

【lpDx】

指向可选的数组数组,指示相邻字符单元格的起始点之间的距离。例如,【lpDx】 [【i】]逻辑单元分离字符单元格【i】和字符单元格【i】 + 1的起始位置。

返回值

如果绘制字符串,则返回值不为零。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

指定设备上下文的当前文本对齐设置决定了参考点如何定位文本。通过调用GetTextAlign函数检索文本对齐设置。通过调用SetTextAlign函数来更改文本对齐设置。

如果【lpDx】参数为NULL,则ExtTextOut函数使用字符之间的默认间距。字符单元格起始和【lpDx】参数指向的数组的内容以逻辑单位给出。字符单元原点定义为字符单元格的左上角。

默认情况下,此函数不会使用或更新当前位置。但是,应用程序可以将【FMODE】参数设置为TA_UPDATECP来调用SetTextAlign函数,以允许Windows在每个应用程序为指定的设备上下文调用ExtTextOut时使用和更新当前位置。设置此标志时,Windows会在随后的ExtTextOut呼叫中忽略【X】【Y】参数。

也可以看看

GetTextAlign, RECT, SetTextAlign