【发布时间】:2017-09-20 10:19:20
【问题描述】:
我在 Win10 中使用 VS2015 为我的朋友制作了一个 MFC 应用程序。看起来是这样的,和资源编辑器里的一模一样。
但是当他在Win7的电脑上运行应用程序时,优化校准中的位图图像放大并覆盖了下面的一些文本框,看起来像这样。
经过我的搜索并意识到这可能与 DPI 意识有关。我在 Manifest Tool 的属性页面中禁用了 DPI-Awareness 并重新构建。即使在 Win10 中运行也会发生同样的情况。
有人可以帮我解释一下这个问题的原因并找到解决方法来修复图像控件的大小吗?谢谢。
【问题讨论】:
-
解决方案,您可以在图片应有的位置放置一个隐藏的静态控件。覆盖对话框的
OnPaint并使用StretchBlt绘制位图。您需要m_static.GetWindowRect(rect)和ScreenToClient(rect)才能找到正确的坐标。
标签: mfc backwards-compatibility dpi-aware