捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
3 2017.06

ExtTextOut

点击次数:1303 更新时间:2017-6-3 21:33:47  【打印此页

原文链接 -> 传送门

函数功能:

ExtTextOut 函数用于调用当前选定字体,背景色和文本色来绘制文本。你可以选择性规定剪切区域的大小和不透明区域的大小。


API 函数原型:

注释:_In_ 说明该参数是输入的。

BOOL ExtTextOut(
  _In_       HDC     hdc,
  _In_       int     X,
  _In_       int     Y,
  _In_       UINT    fuOptions,
  _In_ const RECT    *lprc,
  _In_       LPCTSTR lpString,
  _In_       UINT    cbCount,
  _In_ const INT     *lpDx
);



参数解析:

参数

含义

hdc

指定设备环境句柄

X

X 坐标,在逻辑坐标中,用于指定字符串位置的参考点

Y

Y 坐标,在逻辑坐标中,用于指定字符串位置的参考点

fuOptions

1. 规定如何使用应用程序规定的矩形区域

2. 该参数为以下值中的一个或者多个:

含义

ETO_CLIPPED

文本将被剪切到矩形框中

ETO_GLYPH_INDEX

1. lpString 参数指向一个 GetCharacterPlacement 函数返回的数组,被 GDI 直接解析,无需详细指定特定的语言进行处理。Glyph 索引仅适用于 TrueType 字体,但标记能用于位图和矢量字,不需要更多的语言处理,GDI 直接处理字符串。注意所有的字形索引为 16 位,即使该字符串是 8 位的光栅字体的数组

2. 对于 ExtTextOutW 函数,字形索引被保存为一个元文件。但是,为了正确显示字符,元文件必须使用相同的字体重新显示。对于 ExtTextOutA 函数字形索引不保存

ETO_IGNORELANGUAGE

1. 为系统使用而保留

2. 如果一个应用设置了这个标志,就会失去全局脚本支持,并在某些情形下不显示文本

ETO_NUMERICSLATIN

使用欧洲数字显示数字

ETO_NUMERICSLOCAL

使用符合区域设置的数字显示数字

ETO_OPAQUE

当前背景色填涂矩形区域

ETO_PDY

设置该值时,lpDx 参数指向一个数组,包含几组值。通常,每组值的第一个值是相邻字符单元原点的距离,第二个值是字体垂直方向的位移

ETO_RTLREADING

Window 的中东语言版本:如果值被指定,并且选择希伯来语或阿拉伯语到设备环境中,字符串自右向左的阅读顺序输出。如果该值没有设定,字符串自左向右的顺序输出。调用 SetTextAlign 函数设置 TA_RTLREADING 的值可以达到同样的效果。该值为向下兼容而保留


ETO_GLYPH_INDEX和ETO_RTLREADING  不能同时使用。因为 ETO_GLYPH_INDEX 意味着已经完成所有的语言处理,该函数功能忽略 ETO_RTLREADING 标记,即使指定了标记

lprc

1. 指向一个 RECT 结构体(可选),该结构体使用逻辑坐标为剪切,不透明区域或这两者指定矩形区域的尺寸

lpString

1. 指向一个字符串的指针,指定要被描绘的指定文本

2. 该字符串不需要空值终止,因为 cbCount 参数指定了其长度

cbCount

指定 lpString 参数指定字符串的长度

lpDx

1. 指向一个数组(可选)的指针,该数组表示相邻字符单元原点的距离

2. 例如, lpDx 逻辑单元将字符单元 i 和字符单元 i+1 的起点分开



返回值:

1. 如果字符串被绘制,返回值不为 0。但是,如果 ExtTextOut 函数的 ANSI 版本带 ETO_GLYPH_INDEX 标识被调用,函数返回 TRUE,即使该函数没有任何作用;

2. 如果函数调用失败,返回值为 0。


备注:

1. 指定设备环境当前文本的对其设置,决定如何使用参照点确定文本的位置。文本对齐设置可以调用 GetTextAlign 函数来获取。调用 SetTextAlign 来更改文本对其设置。你可以使用以下文本对齐的值。只能从中挑选一个标记来调整水平和垂直对齐。另外,两个调整当前位置的标记只能选择一个。

术语

描述

TA_BASELINE

文本底线上的参照点

TA_BOTTOM

边框底部边缘的参照点

TA_TOP

边框顶部边缘的参照点

TA_CENTER

边框中间水平对齐的参照点

TA_LEFT

边框左边边缘的参照点

TA_RIGHT

边框右边边缘的参照点

TA_NOUPDATECP

每个文本调用输出后,当前位置没有更新。参照点被传送到文本输出函数

TA_RTLREADING

Window 中东语言版本:文本按照自右向左的阅读顺序摆放,与默认的自左向右的顺序相反。仅当希伯来语或阿拉伯语字体被选入设备环境,该值才会被应用

TA_UPDATECP

每个文本调用输出后,更新当前位置。当前位置被当作参数点


2. 如果 lpDx 参数为空,ExtTextOut 函数使用字符之间的默认空间。lpDx 参数指定的字符单元原点和数组内容在逻辑单元中规定。一个字符单元原点定义为字符单元的左上角。

3. 函数默认不使用或不更新当前位置。但是,每次为一个指定设备环境调用 ExtTextOut 函数时,应用程序能调用 SetTextAlign 函数与 TA_UPDATECP 的 fMode 参数设置来允许系统使用和更新当前位置。一旦设置该标记,在后面 ExtTextOut 函数的调用中,系统忽略 x 参数和 y 参数。

4. 关于 ExtTextOut 的 ANSI 版本,lpDx 数组与 INT 值相同,lpString 中存在字节。对 DBCS 字符,你可以在头尾字节中的 lpDx 分配 dx,只要两个字节的总数和与要求的 dx 一致。对 ExtTextOut 的 Unicode 版本的 DBCS 字符,每个 Unicode 字符有一个唯一的 pdx 条目。


需求:

Minimum supported client

Windows 2000 专业版 [仅桌面应用程序]

Minimum supported server

Windows 2000 服务器版 [仅桌面应用程序]

Header

Wingdi.h (包含于 Windows.h)

Library

Gdi32.lib

DLL

Gdi32.dll

Unicode and ANSI names

ExtTextOutW (Unicode) 和 ExtTextOutA (ANSI)



 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1303 更新时间:2017-6-3 21:33:47  【打印此页

上一条:GetTextColor

下一条:EnumFontFamiliesEx

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修