资源编辑器的单位DLU

简介: 资源编辑器的单位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。



相关文章
【FluidSynth】SoundFont 音源文件资料收集 ( SoundFont 规范 | SoundFont 音源下载 | SoundFont 编辑器 | 博客资源 )
【FluidSynth】SoundFont 音源文件资料收集 ( SoundFont 规范 | SoundFont 音源下载 | SoundFont 编辑器 | 博客资源 )
702 0
|
API Docker 容器
标签管理利器——使用标签编辑器,多地域多产品千台资源一次搞定
创建阿里云资源时,您可以给资源绑定标签。已经创建的资源,也可以在资源列表页面或者通过API,批量的添加、更改和删除标签。当遇到如下更为复杂问题和场景,该如何快速解决标签问题呢? 资源跨度大,需要跨资源类型、跨地域,将关联的资源打上标签。
3318 0
标签管理利器——使用标签编辑器,多地域多产品千台资源一次搞定
|
5月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
136 2
|
3月前
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
4月前
|
开发工具
Vim 编辑器:高效文本编辑的瑞士军刀
**Vim 概览:** Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。
48 5
|
4月前
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
3月前
|
Linux 开发工具 数据安全/隐私保护
【linux】如何优雅的使用vim编辑器
【linux】如何优雅的使用vim编辑器
|
4月前
|
缓存 人工智能 Linux
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
80 0