MFC窗体如何适应不同屏幕放大比例/不同分辨率?

mazhengxing11 mazhengxing11 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
win10系统,默认显示大小设置下(如图1)

写MFC窗体,运行后窗体显示正常,如图2

更改图1中的设置到100%,重启电脑后再运行如图3,图片大小变了,静态文本大小变了,有部分文字被覆盖显示不出来


在图1的150%系统设置下在我电脑上运行正常的,生成exe拿到别人电脑上(100%)也变图2的样子
这种问题应该怎么办呢?
我电脑设置为100%,调整对话框到正常状态,然后拿到别人电脑那里应该没问题了吧?



...全文

相关推荐

MFC快速实现对话框等比例的放大缩小功能源码实例

VC++工程搭建 MFC快速实现对话框和内部控件的等比例放大缩小功能,再放大缩小的同时改变响应只控件的匹配大小,有问题的地方还请大家指正谢谢。

jobschu

MFC控件自适应窗体改变大小

用MFC做的一个简单的控件自适应窗体改变大小的程序,方便自己学习上传,有需要的可以免积分下载,谢谢!

xqwangc

mfc实现屏幕放大镜

将鼠标点击的位置周围一定区域空间放大可指定的倍数.MFC/C++

shenshushi

MFC 对话框最大化时控件也随比例最大化或者还原

MFC 对话框最大化时控件也随比例最大化或者还原 1. 在oninitdlg中 计算出当前对话框的大小与最大化后大小,注意要用float值,不然误差很大. CRect rect; ::GetWindowRect(m_hWnd,rect); ScreenToClient(rect); m_nDlgWidth = rect.right - rect.left; m_nDlgHeight = rect.bottom - rect.top; //计算分辨率 m_nWidth = GetSystemMetrics(SM_CXSCREEN); m_nHeight = GetSystemMetrics(SM_CYSCREEN); //计算放大倍数 m_Multiple_width = float(m_nWidth)/float(m_nDlgWidth); m_Mutiple_heith = float(m_nHeight)/float(m_nDlgHeight); change_flag=TRUE;//这个是成员变量bool形,用来判断onsize执行时oninitdlg是否已经执行了

yateic

mfc控件以及字体随窗体变化而缩放

vs2010工程,控件的大小以及字体可以随着窗体缩放,控件包含:tablectrl,static,edit,combobox,listctrl

a1164076705
评论 5
收藏 已收藏
分享
返回顶部
mazhengxing11
VC/MFC 16,550 成员 421,606 内容