资源编辑器的单位DLU
前些天优化智勇三国的界面,目标:操作简单,信息明了。有一点体会,与君共享,也欢迎大家指教。CDC类的函数(如:TextOut)的单位是像素,资源编辑器的单位不是像素,当时没在意。发布后,有少量用户页局混乱。原以为是分辨率的问题,其实是字体的问题。宋体小四DLU单位是2像素,宋体小五DLU单位是1.5像素。DLU的优点是什么呢?在资源编辑器中更改字体,对话框和控件都会改变大小,这样布局不会乱。用户设置成大字体,也不会乱。问题的引伸,如何由用户指定字体,SetFont只改变字体不改变窗口大小。
解决方法如下:
#include <afxpriv.h>
int CSanGuoDlg::DoModal()
{
CDialogTemplate dlt;
int nResult;
if (!dlt.Load(MAKEINTRESOURCE(IDD)))
return -1;
dlt.SetFont( "宋体", 9);
LPSTR pdata = (LPSTR)GlobalLock(dlt.m_hTemplate);
m_lpszTemplateName = NULL;
InitModalIndirect(pdata);
nResult = CDialog::DoModal();
// unlock memory object
GlobalUnlock(dlt.m_hTemplate);
return nResult;
}
知识点一,如何设置大字体。
在windows上点击右键
点击“属性”
打开“设置”Tab标签然后点击“高级”
在“常规”标签, 在字体尺寸框中改变的系统 DPI
重启系统
知识点二:如何求DLU等于多少像素。
DLU的一个X方向的坐标单位相当于对话框中所用字体的平均宽度的1/4,Y方向的坐标单位相当于对话框对话框所用字体高度的1/8。注意字体平均宽度的计算并非是所有字符的平均,而是字母a…z(包括大写)的宽度的平均,换句话说,它等于字符串”a…zA…Z”的长度除以52。
资源编辑器的单位DLU的更多相关文章
- MS Project 2007 工期、工时、资源、固定单位、固定工期、固定工时
0. 基本概念 工期:指完成每项项目任务所经历的实际时间,及开始日期和结束时期之差.Project中,工期的默认单位是天. 工时:指将任务分配给资源后,每个资源执行任务的工作时间.Project中,工 ...
- [源代码] SailingEase .NET Resources Tool (.NET 多语言资源编辑器)
我在2016年10月发过一篇博客,介绍了我写过的一个多语言资源文件编辑器,并且做为免费软件发布给了出来. 陆续收到了一些朋友的反馈,有朋友很热心提了很多建议和关心的话,还有朋友发红包过来,让我很感动. ...
- [免费了] SailingEase .NET Resources Tool (.NET 多语言资源编辑器)
这是我2010年左右,写 Winform IDE (http://www.cnblogs.com/sheng_chao/p/4387249.html)项目时延伸出的一个小项目. 最初是以共享软件的形式 ...
- VS资源编辑器常见错误RC1000到RC1208
资源编译器错误RC1000到RC1208 以下主题包括资源编译器错误RC1000至RC1208: 资源编译器致命错误RC1000未知致命错误记下错误的情况下,尝试找出问题,并创建一个重现的测试案例,然 ...
- SailingEase .NET Resources Tool (.NET 多语言资源编辑器)转
转自:http://www.cnblogs.com/sheng_chao/p/5958846.html 软件下载链接 痛点: 通常我们为了让软件支持多语言,会使用 .NET 自带的资源文件来存储不同的 ...
- 资源Createwindow,对应标识符,绑定窗口
问? 定义一个CEdit cedit1:怎么和IDC_EDIT1 关联,可以在CEdit.Create()里传进去或者在DoDataExchange()里面绑定,是不是一定要先弄出个IDC_EDIT1 ...
- .net RESX资源文件
RESX资源文件最大的优势就是: 支持多语言 快速创建资源 管理方便 RESX可以支持多语言,Visual Studio编译后会出现附属程序集(satellite assembly),事实上是连接器( ...
- .NET(C#):浅谈程序集清单资源和RESX资源
原文:.NET(C#):浅谈程序集清单资源和RESX资源 目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...
- 部署AlwaysOn第三步:集群资源组的健康检测和故障转移
资源组是由一个或多个资源组成的组,WSFC的故障转移是以资源组为单位的,资源组中的资源是相互依赖的.一个资源所依赖的其他资源必须和该资源处于同一个资源组,跨资源组的依赖关系是不存在的.在任何时刻,每个 ...
- VC++中如何复制对话框资源
法1: 在你的工程中添加另一个工程的rc文件,这时资源视图中就会出现两个rc,从后加的rc中拷贝资源到你自己工程的rc中就可以了. 法2:vc中如何拷贝一个工程的对话框资源到另一个工程 ...
随机推荐
- SciTech-Mathmatics-Probability+Statistics-VII-Statistics:Quantifing Uncertainty+Sampling Methods抽样方法的原理与实践(终章)
SciTech-Mathmatics-Probability+Statistics-VII-Statistics:Quantifing Uncertainty Sampling Methods(抽样方 ...
- 轮廓线 dp
轮廓线 dp 是一种和插头 dp 基本相同的东西,所以先看一下轮廓线 dp. Tiling Dominoes 与状压 dp 不同的是,轮廓线 dp 是通过逐格转移来进行 dp 的.我们用三维 \(f_ ...
- Atcoder Beginner Contest 299 G
对于要打印的 \(B\),我们首先尝试确定 \(B_1\). 让 \(f(x) (1≤x≤M)\) 是最大的 \(i\),使 \(A_i = x\). 对于 \(r:=\underset{{{1≤x≤ ...
- Previously on Assassin's Creed Ⅱ
My name is Desmond Miles. I'm a prisoner of war. A war I never knew existed, waged by two groups I n ...
- U558032 芒果的收获季-区间dp
T4 解析 对于 \(20 \%\) 的数据范围, 保证 \(1\le T \le 20, 1 \le n \le 300,1 \le a_i \le b_i \le 10^4, 1 \le d_i ...
- 平衡二叉树、B树、B+树、B*树
原文链接:https://blog.csdn.net/laomumu1992/article/details/82772208
- 不用spring,可以吗?
摘自:https://www.zhihu.com/question/537894826 Java开发不用Spring生态有前途吗? 比如在某些大厂自己封装好的框架直接用,感觉没啥提升 新增:做后端we ...
- Prisma不能优雅的支持DTO,试试Vona ORM吧
在Nodejs生态中,Prisma是一个非常流行的ORM库,支持Typescript,提供了非常友好的类型推断能力.但是,Prisma却不能优雅的支持DTO.在与其他后端框架整合时,DTO是进行参数验 ...
- 能源管理系统的技术博弈:施耐德 EMS + 与 MyEMS 的多维技术解构与应用范式对比
在全球能源转型与数字化浪潮的双重驱动下,能源管理系统(EMS)已成为实现高效能源利用与可持续发展的核心技术载体.施耐德电气 EMS + 与 MyEMS 作为商业闭源系统与开源解决方案的典型代表,二者在 ...
- 《JMeter核心技术、性能测试与性能分析》 教学大纲及标准
本教材中的课程旨在提高学生在软件性能测试与性能分析方面的综合素养与定位分析性能问题的能力,着重使学生掌握软件性能测试与性能分析相关的必备知识与技能,借助JMeter工具,培养学生实际动手实践的能力和形 ...