函数功能:
SetTextAlign 函数为指定设备环境设置文字的对齐标志。
API 函数原型:
UINT SetTextAlign( _In_ HDC hdc, _In_ UINT fMode );
参数解析:
|
参数 |
含义 |
|
hdc |
指定设备环境句柄 |
|
fMode |
1. 文本对齐标志 |
使用下面的列表中的掩码指定文本对齐方式:
|
值 |
含义 |
|
TA_BASELINE |
基准点在正文的基线上 |
|
TA_BOTTOM |
基准点在限定矩形的底边上(限定矩形的含义请看下边备注) |
|
TA_TOP |
基准点在限定矩形的顶边上 |
|
TA_CENTER |
基准点在限定矩形的中心水平对齐位置 |
|
TA_LEFT |
基准点在限定矩形的左边上 |
|
TA_RIGHT |
基准点在限定矩形的右边上 |
|
TA_NOUPDATECP |
1. 适用于中东 Windows 版本:正文从右到左的阅读顺序排列,与缺省的从左到右正好相反 |
|
TA_RTLREADING |
每次输出调用后当前状态不改变 |
|
TA_UPDATECP |
每次输出调用后当前状态改变 |
若当前字体有一条缺省的垂直基线(如Kanji),下列值用于取代 TA_BASELINE 和 TA_CENTER:
|
值 |
含义 |
|
VTA_BASELINE |
基准点在正文的基线上 |
|
VTA_CENTER |
基准点与限定矩形的中心垂直对齐 |
默认值是 TA_LEFT, TA_TOP 和 TA_NOUPDATECP。
返回值:
1. 如果函数调用失败,返回值是 GDI_ERROR;
2. 如果函数调用成功,返回值是文字对齐方式的前一个设置。
备注:
1. 限定矩形是指能将正文字符串的所有字符单元限定于其中的矩形
2. TextOut 和 ExtTextOut 函数用文字对齐标志来将一个正文字符串定位于显示器或者其他设备
3. 该标志指定了基准点与限定正文的矩形的位置关系,基准点可以是当前位置,也可是传给正文输出函数的一个点
4. 设置左对齐文本的最好方法可以是如下:
SetTextAlign (hdc, GetTextAlign(hdc) & (~TA_CENTER))
或者
SetTextAlign (hdc,TA_LEFT | <other flags>)
你当然可以使用 SetTextAlign (hdc, TA_LEFT) 来达到这个目的,但是这个方法会丢失所有的垂直基线或者从右到左的设置。
5. 调用 SetTextAlign 函数时,如果使用 TA_UPDATECP 标志,Windows 会忽略 TextOut 的 xStart 和 yStart 参数,而使用由 MoveToEx、LineTo 或更改目前位置的另一个函数设定的位置。




