• 设置文本对齐


    工程模板:https://www.cnblogs.com/eternalmoonbeam/p/10793080.html

    使用函数:SetTextAlign

    UINT SetTextAlign
    (
        HDC hdc,
        UINT align
    );
    

    setextAlign函数为指定的设备上下文设置文本对齐标志。

    alilgn使用下面列表中值的掩码进行文本对齐。只能从影响水平和垂直对齐的标志中选择一个标志。此外,只能选择两个改变当前位置的标志中的一个。

    TA_BASELINE
    参考点将在文本的基线上。
    TA_BOTTOM
    参考点将位于边界矩形的下边缘。
    TA_TOP
    参考点将位于边界矩形的上边缘。
    TA_CENTER
    参考点将与边界矩形的中心水平对齐。
    TA_LEFT
    参考点将位于边界矩形的左边缘。
    TA_RIGHT
    参考点将位于边界矩形的右边缘。
    TA_NOUPDATECP
    每次文本输出调用后,当前位置不会更新。参考点被传递到文本输出函数。
    TA_RTLREADING
    中东语言版Windows:文本按从右到左的阅读顺序排列,而不是按默认的从左到右的顺序排列。仅当设备上下文中选择的字体为希伯来语或阿拉伯语时,此选项才适用。
    TA_UPDATECP
    当前位置在每次文本输出调用后更新。当前位置用作参考点。

    当当前字体有一个垂直默认基线时,如日文汉字,必须使用以下值而不是ta_基线和ta_中心。

    VTA_BASELINE
    参考点将在文本的基线上。
    VTA_CENTER
    参考点将与边界矩形的中心垂直对齐。

    一个例子:

    for (int i = 0; i < 128; i++)
    		{
    			StringCchPrintf(szstr, STRSIZE, TEXT("%s: %u"), TEXT("List"), i);
    			StringCchLength(szstr, STRSIZE, &strsize);
    			TextOut(hdc, xstr + STRSIZE / 2 * cxchar, ystr + i * cychar, szstr, strsize);
    
    			SetTextAlign(hdc, TA_RIGHT | TA_TOP);
    			StringCchPrintf(szstr, STRSIZE, TEXT("%s: %u"), TEXT("List"), i);
    			StringCchLength(szstr, STRSIZE, &strsize);
    			TextOut(hdc, xstr + 3 * STRSIZE / 4 * cxchar, ystr + i * cychar, szstr, strsize);
    			SetTextAlign(hdc, TA_LEFT | TA_TOP);
    		}
    

      

  • 相关阅读:
    go入门4---数据
    hibernate之关联关系一对多
    hibernate的主键生成策略
    hibernate的入门
    struts--CRUD优化(图片上传)
    struts2--CRUD
    struts2--入
    Maven环境搭建
    EasyUI--增删改查
    easyui--权限管理
  • 原文地址:https://www.cnblogs.com/eternalmoonbeam/p/10806178.html
Copyright © 2020-2023  润新知