小甲鱼 发表于 2014-7-14 22:20:57

GetTextAlign

函数功能:

GetTextAlign 函数获得指定的设备环境下的文本对齐方式的设置。


API 函数原型:

注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选参数。
UINT GetTextAlign(
_In_HDC hdc
);

参数解析:


参数 含义
hdc 指定设备环境句柄


返回值:

1. 如果函数调用失败,返回值是 GDI_ERROR;

2. 如果函数调用成功,返回值是文字对齐标志的状态。

该返回值是下列值的组合:


值 含义
TA_BASELINE 基准点在正文的基线上
TA_BOTTOM 基准点在限定矩形的底边上(限定矩形的含义请看下边备注)
TA_TOP 基准点在限定矩形的顶边上
TA_CENTER 基准点在限定矩形的中心水平对齐位置
TA_LEFT 基准点在限定矩形的左边上
TA_RIGHT 基准点在限定矩形的右边上
TA_RTLREADING 1. 适用于中东 Windows 版本:正文从右到左的阅读顺序排列,与缺省的从左到右正好相反
2. 只有当被选择的字体是 Hebrew 或 Arabic 时,此值才有用
TA_NOUPDATECP 每次输出调用后当前状态不改变
TA_UPDATECP 每次输出调用后当前状态改变

若当前字体有一条缺省的垂直基线(如Kanji),下列值用于取代 TA_BASELINE 和 TA_CENTER:


值 含义
VTA_BASELINE 基准点在正文的基线上
VTA_CENTER 基准点与限定矩形的中心垂直对齐


备注:

1. 默认值是 TA_LEFT, TA_TOP 和 TA_NOUPDATECP

2. 限定矩形是指能将正文字符串的所有字符单元限定于其中的矩形

3. 限定矩形的尺寸可通过调用 GetTextExtentPoint32 来获得

4. 文字对齐标志决定 TextOut 和 ExtTextOut 如何将正文字符串与基准点对齐

5. 文字对齐标志不必是单个的标志位,可以等于0

6. 标志必须按相关的组来检查,如下:

[*]TA_LEFT, TA_RIGHT, and TA_CENTER
[*]TA_BOTTOM, TA_TOP, and TA_BASELINE
[*]TA_NOUPDATECP and TA_UPDATECP

如果当前字体有缺省的垂直基线,相关的标志如下所示:

[*]TA_LEFT, TA_RIGHT, and VTA_BASELINE
[*]TA_BOTTOM, TA_TOP, and VTA_CENTER
[*]TA_NOUPDATECP and TA_UPDATECP

7. 要验证一个特定的标志在返回值中被设置,应用程序必须执行以下步骤:
(例子:如何设置文本对齐模式)

[*]对该标志及其相关标志实施位OR操作;
[*]对结果和返回值实施位AND操作;
[*]检查结果值和标志是否相等。


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

WinSDK

c2013 发表于 2014-7-14 22:59:01

出新教程了?甲鱼哥......

小甲鱼 发表于 2014-7-14 23:49:03

c2013 发表于 2014-7-14 22:59
出新教程了?甲鱼哥......

准备了,在写讲义。

c2013 发表于 2014-7-15 00:42:38

小甲鱼 发表于 2014-7-14 23:49
准备了,在写讲义。

Can continue to learn...

゛落君灬殇丶 发表于 2015-10-2 20:47:25

:sad为什么字都不能复制 好难受

hustjinghu 发表于 2016-10-20 09:38:18

好复杂啊,这个函数,遇到文字处理这块头晕。。。。。。。

lijialijialijia 发表于 2019-3-8 02:52:35

有点难
页: [1]
查看完整版本: GetTextAlign