MFC-DrawText在指定的矩形里写入格式化的文本

 

复制代码
    
    HDC hdc = ::GetDC(m_hWnd);
    LOGFONT lf = { 0 };
    lf.lfWeight = 16; //平均宽度
    lf.lfHeight = 40;//字体高度
    lf.lfCharSet = GB2312_CHARSET;
    HFONT hfont = ::CreateFontIndirect(&lf);
    HFONT holdfont= (HFONT)SelectObject(hdc, hfont);
    
    RECT rect = { 50,50,400,400 };
    int n=DrawText(hdc,_T("GDI测试"),-1,&rect,DT_LEFT);//在指定的矩形里写入格式化的文本
    /*
    参数1:HDC hDC   设备描述表句柄
    参数2:LPCTSTR lpString  指向将被写入的字符串的指针,如果参数nCount是-1,则字符串必须是以\0结束的。 
                如果uFormat包含DT_MODIFYSTRING,则函数可为此字符串增加4个字符,存放字符串的缓冲区必须足够大,能容纳附加的字符
    参数3:int nCount  指向字符串中的字符数。如果nCount为-1,则lpString指向的字符串被认为是以\0结束的,DrawText会自动计算字符数
    参数4:LPRECT lpRect  指向结构RECT的指针,其中包含文本将被置于其中的矩形的信息(按逻辑坐标)
    参数5:UINT uFormat  指定格式化文本的方法。它可以下列值的任意组合
                DT_CALCRECT:这个参数比较重要,可以使DrawText函数计算出输出文本的尺寸。
                    如果输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行
                    如果输出文本只有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符
                    出现上述任何一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本
                DT_CENTER:指定文本水平居中显示
                DT_VCENTER:指定文本垂直居中显示。该标记只在单行文本输出时有效,所以它必须与DT_SINGLELINE结合使用
                DT_SINGLELINE:单行显示文本,回车和换行符都不断行
                DT_BOTTOM    使文本对齐到矩形底部。 此值仅用于DT_SINGLELINE值
                DT_LEFT      将文本对齐到左侧
                DT_RIGHT      将文本对齐到右侧
                DT_TOP       将文本对齐到矩形的顶部
                我只写了常用的,其余的看:https://learn.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-drawtext 
    返回值:如果函数成功,则返回值是逻辑单元中文本的高度。 
            如果指定了DT_VCENTER或DT_BOTTOM,则返回值是绘制文本底部的偏移量lpRect->top
            如果函数失败,则返回值为零
    
    */


    SelectObject(hdc, holdfont);
    DeleteObject(hfont);
复制代码

 

 

 

 

 

posted @   天子骄龙  阅读(242)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-04-16 浩辰CAD-矩形
2022-04-16 浩辰CAD-点
2020-04-16 物理实验室-目录
2020-04-16 音频频率发生器接线
2019-04-16 python-文件及文件夹操作
2019-04-16 Arduino传感器学习目录
2019-04-16 焦点控制
点击右上角即可分享
微信分享提示