MFC - CDC - DrawText 设置行高
MFC - CDC - DrawText 设置行高
#include <afxwin.h>
//hdc:要在其中绘图的一个设备场景的句柄
//str:欲描绘的文本字串
//count:欲描绘的字符数量。如果要描绘整个字串(直到空中止符),则可将这个参数设为-1
//rect:指定用于绘图的一个格式化矩形(采用逻辑坐标)
//flags:一个标志位数组,决定了以何种形式执行绘图,如DT_LEFT|DT_WORDBREAK|DT_EXPANDTABS|DT_TABSTOP| DT_EDITCONTROL| DT_NOPREFIX
//dtp:这个结构包含了附加的绘图参数,如tab键的宽度
//lineHeight:行高
void MyDrawText(HDC hdc,LPWSTR str,INT count,LPRECT rect,UINT flags,LPDRAWTEXTPARAMS dtp,float* lineHeight=NULL)
{ int fontHeight; //字体高度 TEXTMETRICW tm; GetTextMetricsW(hdc, &tm);if (flags & DT_EXTERNALLEADING)fontHeight = tm.tmHeight + tm.tmExternalLeading;elsefontHeight = tm.tmHeight;float lh=lineHeight?*lineHeight:fontHeight; //行高BOOL invert_y = FALSE;if (GetGraphicsMode(hdc) == GM_COMPATIBLE){SIZE window_ext, viewport_ext;GetWindowExtEx(hdc, &window_ext);GetViewportExtEx(hdc, &viewport_ext);if ((window_ext.cy > 0) != (viewport_ext.cy > 0))invert_y = TRUE;}CRect line=rect; //每行的方框line.bottom=line.top+fontHeight; //首行while(line.bottom<=rect->bottom){DrawTextExW(hdc,str,count,line,flags,dtp); //每次在行方框中绘制,即每次绘制一行str += dtp->uiLengthDrawn; //uiLengthDrawn 是已绘制了多少字符count -= dtp->uiLengthDrawn;if(invert_y){ line.top -= lh;line.bottom -= lh; }else{line.top += lh; //移动方框line.bottom += lh; }}
}
MFC - CDC - DrawText 设置行高相关推荐
- excel表格行宽列高怎么设置_excel表格怎么设置行高列宽
excel表格怎么设置行高列宽 你是怎么调整Excel表格的行高和列宽的? 如果还在用原始的手动调整方法,那你赶紧看看下面这几种解决方法,不仅效率高,而且调整的行高和列宽还很统一整齐哦,快和小编来学习 ...
- android+listview设置行高,android – 无法在行xml中设置listView行高的高度
这是我的自定义适配器的getView方法: public View getView(int position, View convertView, ViewGroup viewGroup) { Sin ...
- [VBA] 设置行高和列宽,以及全选单元格
一.用VBA设置行高和列宽 1.将选定区域内各单元格的行高和列宽设置为指定的数值: Sub SetSpecified()With ActiveWindow.RangeSelection.ColumnW ...
- html图片怎么设置行高,html行高怎么设置
html设置行高的方法:首先创建一个HTML示例文件:然后在body中通过p标签创建几行文本内容:最后通过给文本添加"line-height:20px;"样式来设置行高即可. 本文 ...
- 给GridView设置行高
近期在工作中遇到了这样一个问题,使用一个GridView展示数据,item中仅仅是一个TextView,可是里面显示的文字多少不固定多少,必须所有展示出来. 遇到的问题: 1.把item中的宽和高设置 ...
- 为什么设置行高文字就能居中
:点上面关注免费学习前端知识! 在设置CSS样式的时候,我们常常设置行高为元素的高度,这样一来,文字就可以在这个元素里面垂直居中了,那这是为什么呢?今天就来分析原理. 首先,一行文字有顶线.中线.基线 ...
- php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...
PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...
- 使用REPT功能设置行高
Thanks to AlexJ for suggesting a great use for the REPT function – setting a minimum row height. He ...
- excel设置行高等于列宽_如何在Excel中设置行高和列宽
excel设置行高等于列宽 By default, when you create a new workbook in Excel, the row height and column width i ...
最新文章
- 获取app传入的json值处理
- 【大数据学习】数学基础及应用
- nginx的读写分离
- 关于前后端交互的一些基础知识点
- vsftpd安装问题汇总(持续更新。。)
- double 乘法_老大说:谁要再用double定义商品金额,就自己收拾东西走 | 文末福利...
- 初学者python笔记(内置函数_1)
- 2019.1.5 DOM
- RN react-navigation使用
- HTTP 之 HTTPD介绍
- linux进程管理相关概念
- sybase 中可以对现有的表结构进行增加
- Tomcat—HTTPS之生成密钥库文件与配置Tomcat服务器
- (2)css的复合选择器与特性
- JAVA基础(1/17)-JAVA语言概述
- 全民开发者时代到来!华为云开发者日深圳站成功举办
- TemplateBinding和Binding的区别
- 计算机科学的中心舞台在于,【名师】上海财经大学教授陆品燕:以赤子之心长者之智,打造国际一流理论计算机科学研究中心...
- 如何使用时间机器进行备份?最全的Time Machine时间机器备份教程
- Word2013如何在中间某页重新编排页码,增加分节符。