DrawText函数简介

这个函数的作用非常easy,就是在指定的区域内输出格式化的文本。

函数原型:

int DrawText(

HDC hDC,

LPCTSTR lpString,

int nCount,

LPRECT lpRect,

UNIT uFormat

);

hDC是设备上下文句柄。lpString指向将要绘制的UNICODE文本。nCount是要输出的字符数,假设nCount = -1,则Windows自己主动计算字符数,只是此时lpString所指向的必须是以NULL结尾的字符串。lpRect指向rect结构体,指定了文本格式化的矩形区域。uFormat是格式化标记,也是这里面稍显复杂的一个參数。

以下是几个经常使用的格式化标记:

DT_CALCRECT:这个參数比較重要,能够使DrawText函数计算出输出文本的尺寸。假设输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。假设输出文本仅仅有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符。出现上述不论什么一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本。

DT_CENTER:指定文本水平居中显示。

DT_VCENTER:指定文本垂直居中显示。该标记仅仅在单行文本输出时有效,所以它必须与DT_SINGLELINE结合使用。

DT_SINGLELINE:单行显示文本,回车和换行符都不断行。

② DrawText函数使用举例

//Get the height and length of the string.

DrawText(hdc,szHello,-1,&rect, DT_CALCRECT | DT_CENTER | DT_SINGLELINE);

// Draw the text

DrawText(hdc,szHello,-1,&rectCli,DT_CENTER | DT_SINGLELINE);

③ 常常与DrawText结合使用的几个函数

(1) SetTextColor 设置文本前景色

COLORREF SetTextColor(

HDC hdc,

COLORREF crColor

);

(2) SetBkColor 设置文本背景色

COLORREF SetBkColor(

HDC hdc,

COLORREF crColor

);

(3) SetBkMode 设备背景色模式为透明与不透明

int SetBkMode(

HDC hdc,

int iBkMode

);

java使用drawtext重叠_DrawText的使用相关推荐

  1. java使用drawtext重叠_Java Graphics.drawText方法代碼示例

    本文整理匯總了Java中org.eclipse.draw2d.Graphics.drawText方法的典型用法代碼示例.如果您正苦於以下問題:Java Graphics.drawText方法的具體用法 ...

  2. Java校验时间段重叠

    1.需求 要求保存每一条数据的startTime.endTime的中间时间段是唯一的,跟其他数据时间段不能存在冲突 比如: (2019-03-01 -> 2019-03-03 )  (2019- ...

  3. java数字区间重叠校验

    一. 设计背景 在具体的软件开发过程中可能会涉及到用两个数字表示一定的数字区间范围,或者是一个数字,另一个数字是无穷大或者是无穷小的数字区间范围.其实,总结起来共有8种类型的数字区间,它们是:1.左闭 ...

  4. Java黑皮书课后题第3章:**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠

    **3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠 题目 题目概述 运行示例 代码 题目 题目概述 **3.29(几何:两个 ...

  5. Java黑皮书课后题第3章:**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠

    **3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠 题目 题目概述 运行示例 破题 代码 ...

  6. java shapes_Java Overlaping Shapes – 错误的重叠形状行为

    简而言之 – 我有2个旋转矩形.在旋转时(通过Y轴)它们应该相互重叠 – 不幸的是,尽管旋转180度,但是其中一个ractangles"总是在前面".如何解决这种行为?它似乎与wh ...

  7. java pdf 富文本_富文本编辑器保存的html内容使用itextpdf转PDF文件(css提取,内容重叠)问题解决...

    html格式处理 使用itextpdf的XMLWorkerHelper组件转换过程当中,html格式要求比较多,下面作下格式的简单处理以保证转换成功.css //div格式转换过程当中,有概率会使内容 ...

  8. java 时间段重叠_java 判断两个时间段是否重叠的案例

    java 判断两个时间段是否重叠的案例 发布时间:2020-10-21 16:08:51 来源:脚本之家 阅读:108 作者:SakuyaM 最近业务上遇到需要判断两个时间段是否存在重叠的情况,网上找 ...

  9. java里怎么判断时间重合_java 判断两个时间段是否重叠的案例

    最近业务上遇到需要判断两个时间段是否存在重叠的情况,网上找了不少代码.大佬们的思路过于简洁了,有些理解不了.还只是个菜鸟码农,还是多锻炼锻炼自己的思路. 思路很简单:定义一个时间段的概念,既然是时间段 ...

最新文章

  1. java 全局变量_Java语言与C语言、C++语言有何差异以及优劣势
  2. mysql 协议的ResultsetRow包及解析
  3. android浮动文本,android 添加浮动标签在textView最尾端,自动换行
  4. 全面解析java注解
  5. docker 修改服务器,docker-修改容器挂载目录的3种方法小结
  6. 读取Excel文件数据
  7. 《c#编程语言详解》,C#编程语言详解(第2版)
  8. ASP.NET MVC铵钮Click后下载文件
  9. 使用盒子模型仿照优酷的页面片段
  10. 520 情人节 :属于 Python 程序员的脱单攻略大合集(视频版)
  11. Oracle数据库完全卸载
  12. 重定向linux编译,linux重定向 - 悟性的个人页面 - OSCHINA - 中文开源技术交流社区...
  13. Cocos数据篇[3.4](3) ——XML数据操作
  14. 让你的模型acc更上一层楼:模型trick和数据方法总结
  15. 致远oa系统报价_用友致远OA 系统 一般价钱?(公司60-70台左右的电脑)
  16. pcb地线应该不应该做成环路_电源PCB设计流程及要点全解析
  17. Redis的性能瓶颈
  18. 专家议微软黑屏:目的正当 手段未必正当
  19. 微信手环1年多了,前主管终于出来聊了聊它是怎么诞生的
  20. 基于ESP8266的遥控小车

热门文章

  1. 7-148 试试多线程 (10 分)
  2. Nginx是什么?怎么用?(新手入门版)教程
  3. IE8浏览器兼容问题(日常经验总结)
  4. 乐游TGapi接口平台(接口商)
  5. Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限)
  6. 【OpenCV 例程300篇】208. Photoshop 对比度自动调整算法
  7. 从Bugreport 解读 Android电量统计原理
  8. VUE 嵌入 WPS插件
  9. 我希望用Java拥有的十大锡兰语言功能
  10. 关于OutputDebugStringW()输出调试的使用