【发布时间】:2011-07-25 05:06:21
【问题描述】:
如何根据当前 VC++/MFC 应用程序中的 DPI 设置来缩放字体大小?
到目前为止,当我将 DPI 从 100% 到 150% 更改时,字体大小保持不变,尽管图标会根据当前 dpi 缩小 ..
请提出解决上述问题的最佳方法。
【问题讨论】:
标签: c++ visual-c++ mfc dpi
如何根据当前 VC++/MFC 应用程序中的 DPI 设置来缩放字体大小?
到目前为止,当我将 DPI 从 100% 到 150% 更改时,字体大小保持不变,尽管图标会根据当前 dpi 缩小 ..
请提出解决上述问题的最佳方法。
【问题讨论】:
标签: c++ visual-c++ mfc dpi
在 Windows Vista 和 7 中,操作系统会尝试从您的程序中隐藏 DPI,并在后台进行调整。如果您希望您的程序正确响应 DPI 更改,您必须遵循 Microsoft 的标题为 Creating a DPI-Aware Application 的指南。
【讨论】:
通过指定 DLU 中的文本和控件大小。但是默认情况下会发生这种情况,因此我假设您是动态生成对话框或从基于内存的 DLGTEMPLATE 生成对话框。如果你,你(请原谅我的法语)搞砸了,因为你将不得不将 DLU 转换为像素,这是一个非常痛苦和乏味的过程。阅读以下知识库文章:
【讨论】:
不要使用 DPI 进行字体缩放。相反,请使用用户在控制面板的“外观”部分中配置的设置。
您可能还想考虑为您的应用程序配置字体大小。
【讨论】: