如何根据VC ++ / MFC应用程序中的当前DPI设置缩放字体大小?

时间:2011-07-25 05:06:22

标签: c++ visual-c++ mfc dpi

如何根据VC ++ / MFC应用程序中的当前DPI设置缩放字体大小?

截至目前,当我将DPI从100%更改为150%时,字体大小保持不变,尽管图标会根据当前dpi缩小。

请提出解决上述问题的最佳方法。

3 个答案:

答案 0 :(得分:4)

在Windows Vista和7中,操作系统会尝试从程序中隐藏DPI并在后台进行调整。如果您希望程序对DPI更改做出正确反应,则必须遵循Microsoft标题为Creating a DPI-Aware Application的指南。

答案 1 :(得分:2)

通过在DLU中指定文本和控件大小。默认情况下会发生这种情况,因此我假设您正在动态生成对话框或从基于内存的DLGTEMPLATE生成对话框。如果你,你(原谅我的法语)搞砸了,因为你不得不把DLU转换成像素,这是一个非常痛苦和乏味的过程。阅读以下知识库文章:

答案 2 :(得分:2)

不要使用DPI进行字体缩放。而是使用用户在"外观"中设置的设置。控制面板部分。

您可能还需要考虑为您的应用程序配置字体大小。