mfc怎样把逻辑坐标换算成物理坐标

mfc怎样把逻辑坐标换算成物理坐标,第1张

数:DPI(每英寸多少点)
象素数 / DPI = 英寸数
英寸数 254 = 毫米数
对于显示设备,不管是打印机还是屏幕,都有一种通用的方法
先用GetDeviceCaps(设备句柄,LOGPIXELSX)
或者
GetDeviceCaps(设备句柄,LOGPIXELSY)获得设备每英寸的像素数
分别记为:px 和 py
一英寸等于254mm
那么毫米换算成像素的公式为 
水平方向的换算: x px /254
垂直方向的换算: y py /254
像素换算为毫米 x 254 / px

用记事本打开工程目录下的rc文件
搜索你的控件ID,里面有记录
以编辑框为例,搜索IDC_EDIT1找到如下文字
EDITTEXT IDC_EDIT1,64,24,55,15,ES_AUTOHSCROLL
里面64,24是指控件左上角相对窗口左上角的座标,
55,15,是指控件的宽高
修改这里的数字,改成你想要的值,然后重新打开工程就行了
至于究竟要修改成多少,可以目测,也可以下载个电脑尺(JRuler)量一量

昨天问过?
你这个,首先是对话框使用方式有问题,第二个图明显不是因为对话框本身有多大,而是加载出现异常。这样看,你第一个只是模态调用修正了这种异常。
貌似你这个是属性页内嵌对话框?这样的模式下,默认不应该出现标题栏和边框。出现了,说明你使用方式不对,或者没有按照默认方式使用。这种情况下,出现问题是正常的,只能拿代码分析原因。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13371972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存