DrawText函数的讲解

2023-05-16

函数原型

int DrawText(
HDC hDC, // 设备描述表句柄
LPCTSTR lpString, // 将要绘制的字符串
int nCount, // 字符串的长度
LPRECT lpRect, // 指向矩形结构RECT的指针
UINT uFormat // 正文的绘制选项
);

参数

hdc:
[输入]设备环境句柄。
lpString:
[输入]指向将被写入的字符串的指针,如果参数nCount是-1,则字符串必须是以\0结束的。 如果uFormat包含DT_MODIFYSTRING,则函数可为此字符串增加4个字符,存放字符串的缓冲区必须足够大,能容纳附加的字符。
nCount:
[输入]指向字符串中的字符数。如果nCount为-1,则lpString指向的字符串被认为是以\0结束的,DrawText会自动计算字符数。
lpRect:
[输入/输出]指向结构RECT的指针,其中包含文本将被置于其中的矩形的信息(按逻辑坐标)。
uFormat:
[输入]指定格式化文本的方法。它可以下列值的任意组合,各值描述如下:
DT_CALCRECT:这个参数比较重要,可以使DrawText函数计算出输出文本的尺寸。如果输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。如果输出文本只有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符。出现上述任何一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本。
DT_CENTER:指定文本水平居中显示。
DT_VCENTER:指定文本垂直居中显示。该标记只在单行文本输出时有效,所以它必须与DT_SINGLELINE结合使用。
DT_SINGLELINE:单行显示文本,回车和换行符都不断行。

 

功能

该函数的功能是在指定的矩形里写入格式化文本,根据指定的方法对文本格式化(扩展的制表符,字符对齐、折行等)
要指定额外的格式化选项,请使用DrawTextEx函数。
 

返回值

如果函数调用成功,返回值是正文的高度(逻辑单位)。如果指定了DT_VCENTER或DT_BOTTOM,返回值是lpRect->top到绘制的正文的底部的偏移值。
如果函数调用失败,返回值是0
Windows NT:若想获得更多错误信息,请调用GetLastError函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DrawText函数的讲解 的相关文章

  • 防止头文件被重复引用

    一 下划线 属于编程风格的内容 xff0c 对程序没有影响 不用下划线也可以 xff0c 用几个下划线也由个人习惯 二 其实质是一个宏名 由此我们可以防止发生重复定义或声明 假设你的头文件名为head h xff0c 根据习惯 xff0c
  • UDP通信绑定指定IP

    由于测试需要 xff0c 自己用vconfig在自己的虚拟机里添加了很多ip xff0c 实现不同Ip间的通信 UDP客户端向服务器发送报文时 xff0c 绑定会有最近IP原则 xff0c 比如 xff0c 你机器上有如下几个IP xff1
  • C++中两个同名头文件的引用顺序

    明人不说暗话 xff0c 直接上代码 xff1a 这里有两个路径下的同名head h头文件 includea head h define A 100 int funA return A includeb head h define A 20
  • 用户态协议栈学习,DKDK基本用法介绍

    网络数据流 xff0c 先了解一下用户态协议栈在什么位置 这里以DPDK为例 xff1a xff08 目的是为了获得原始的网络数据 xff0c 除了DPDK xff0c socket raw xff0c netmap也能获取获取以太网数据
  • 多旋翼基本组成

    一 总体认识 多旋翼三大系统 机身 动力系统 控制系统 xff08 导航模块 控制模块 决策模块 xff09 二 机身主体 xff1a 机架 xff08 1 xff09 作用 多旋翼的承载平台 xff0c 所有设备都是用机架承载 因此 xf
  • 数据处理(伪)代码:卡尔曼滤波 vs. 卡尔曼平滑

    步骤一 导入csv或txt格式的试验数据 最简洁也是据说读取速度最快的方法是 xff1a pPath span class token operator 61 span span class token string 39 C data o
  • 四旋翼初次组装

    一 四旋翼配置清单 初次尝试组装四旋翼 xff0c 在淘宝上买相关配件 xff0c 进行组装 初次组装 xff0c 比较乱 二 装机步骤 1 xff1a 机臂与上层中心板安装 xff0c 2 5mm螺丝 2 xff1a 香蕉头灌锡 xff0
  • 四轴飞行前检查及解锁

    一 飞行前的检查及注意事项 1 飞控的校正遥控器中 xff0c 每个通道与MP中显示的通道校正条是否一致 xff0c 遥控器控制杆摇动的方向是否正确 2 飞控的校正是否已经完成了全部校正 3 电机的的安装序号是否与飞控OUTPUT的通道数一
  • pixhawk之NSH调试

    一 ardupilot固件 windows环境 前期准备 1 xff1a pix烧录程序 xff0c Arducopter或者library中的example都可以实现 2 xff1a 拔掉SD卡 xff08 脚本中提到的没有SD卡进入ns
  • 目标检测(yolov3)实现---darknet的C语言版本

    环境安装 ubuntu opencv cuda cudnn gt920m 参考 https blog csdn net qq 36362060 article details 80739573 darknet github地址 https
  • C++PrimerPlus学习笔记——第9章内存模型和名称空间(最全最详细)

    注 xff1a 这一章都是理解记忆性的内容 xff0c 因此笔者在某些知识点会将自己的理解话语写上 xff0c 便于可读性和方便理解 本章内容包括 xff1a 单独编译 xff1b 存储持续性 作用域和链接性 xff1b 定位 xff08
  • 图论——拓扑排序及最短路径算法模板

    一 拓扑排序 span class token comment 将入度为0的点写入myQueue span vector span class token operator lt span span class token keyword
  • 2022 PAT 甲级秋 100分

    PAT2022秋 有一题是卡着时间复杂度去做的结果AC了 希望大家也能来一起交流下最优解 踩气球 AC 这道题调试了很久 才开始用的哈希表内存太大了 span class token macro property span class to
  • 十大排序 C++代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 位运算实现加减乘除、交换

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 智能指针模拟实现C++

    span class token keyword template span span class token operator lt span span class token keyword typename span span cla
  • 转:卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?

    卷积神经网络的卷积核大小 卷积层数 每层map个数都是如何确定下来的呢 xff1f 看到有些答案是刚开始随机初始化卷积核大小 xff0c 卷积层数和map个数是根据经验来设定的 xff0c 但这个里面应该是有深层次原因吧 xff0c 比如下
  • 生产者消费者模型c++

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 关于vscode断点调试

    很多人习惯在 Chrome 的调试窗口中调试 Vue 代码 xff0c 或者直接使用 console log 来观察变量值 xff0c 这是非常痛苦的一件事 xff0c 需要同时打开至少 3 个窗体 个人还是更加习惯于断点调试 这篇文章将介
  • 斐讯T1电视盒子刷机指南,已排大坑

    斐讯T1刷机详细指南 xff0c 老手直接看小标题的括号 1 准备好一些文件 xff08 中心思想就是刷写工具 降级img 新系统img xff09 1 0 你需要准备一条双usb头的线 1 1 新系统固件 1 2 斐讯T1官方系统降级文件

随机推荐