DrawText的使用

摘要:
DrawText函数简介该函数非常容易在指定区域输出格式化文本。假设输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。无论哪种情况,DrawText函数都将返回格式化文本的高度,而不是绘制文本。此标记仅对单行文本输出有效,因此必须与DT_SINGLELINE关联。

 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

);

免责声明:文章转载自《DrawText的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu如何备份和恢复系统自己动手开发编译器(一)编译器的模块化工程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

为服务中网关的作用

“API网关”核心组件是架构用于满足此些需求。API网关定位为应用系统服务接口的网关,区别于网络技术的网关,但是原理则是一样。API网关统一服务入口,可方便实现对平台众多服务接口进行管控,对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或者计费等等。...

flutter Radio单选框

单选框,允许用户从一组中选择一个选项。...

matlab中figure 创建图窗窗口

示例figure将f指定的图窗作为当前图窗,并将其显示在其他所有图窗的上面。figure;同时使用多个图窗创建两个图窗,然后创建一个线图。f1=figure;f2=figure;plot;将当前图窗设置为f1,使其成为下一个绘图的目标。figure;scatter;输入参数全部折叠f-目标图窗Figure对象目标图窗,指定为Figure对象。默认情况下,Nu...

JVM内存状况查看方法和分析工具

Java本身提供了多种丰富的方法和工具,帮助开发人员查看和分析GC和JVM内存的状态。同时,开源社区和商业社区也有一些工具来查看和分析GC和JVM内存的状态。在内存分析中,JVisualVM的最大优点是可以通过安装VisualGC插件来分析GC趋势和内存消耗细节。使用JMap查看当前JVM中每一代的内存状态、JVM中对象的内存使用情况,并导出整个JVM中的内...

windows系统磁盘IO性能测试(CrystalDiskMark硬盘检测工具)

CrystalDiskMark的具体使用方法如下:Seq:连续读写硬盘检测512K:随机读写硬盘探测4KQD32:随机读和写硬盘探测4KQD32:NCQ和AHCI模式2的随机读写探测。单击“全部”以检测所有项目。CrystalDiskMark硬盘检测工具中文版下载3。正在测试硬盘读写速度。CrystalDiskMark的常见问题1。测试硬盘时,Crystal...

nginx 获取请求头,URL参数

在nginx配置中,通过$arg_PARAMETER即可获得GET参数PARAMETER的内容。...