Mfc 如何设计一个分辨率为800*600的640*480对话框?

Mfc 如何设计一个分辨率为800*600的640*480对话框?,mfc,dialog,Mfc,Dialog,我应该设计一个大小为640*480的对话框,可以在800*600分辨率上使用 目前我的对话框大小是411*292,看起来很不错,但实际上我是 我被要求用我上面提到的尺寸设计对话框。我也试过了,但那个对话框太大了 比我之前的411*292对话框大 当使用800*600分辨率或我的对话框时,似乎更大,无法看到我的一些控件 这是我对话框的大小 IDD_DIALOG_MYPAGE DIALOGEX 0, 0, 411, 292 有人能告诉我如何设计一个640*480(不应该更大)的对话框吗。 如何使我

我应该设计一个大小为640*480的对话框,可以在800*600分辨率上使用

目前我的对话框大小是411*292,看起来很不错,但实际上我是 我被要求用我上面提到的尺寸设计对话框。我也试过了,但那个对话框太大了 比我之前的411*292对话框大

当使用800*600分辨率或我的对话框时,似乎更大,无法看到我的一些控件

这是我对话框的大小

IDD_DIALOG_MYPAGE DIALOGEX 0, 0, 411, 292
有人能告诉我如何设计一个640*480(不应该更大)的对话框吗。
如何使我的应用程序适合任何分辨率,以便对话框上的所有控件都应可见。

对话框按对话框单位缩放,对话框单位根据当前UI设置和系统字体缩放。因此,如果用户选择更大的UI表示,您的对话框也将增长

我能给你的最好建议是:自己控制大小。选择一种你喜欢的字体。将其设置为控件,计算新控件的位置并使用SetWindowPos/MoveWindow

只有在这种情况下,你才有完全的控制权

您也可以在对话框资源中使用固定的字体大小,但该字体会根据为屏幕选择的DPI untis进行缩放


因此,我可以给出最好的建议2:根据DPI/UI设置进行缩放,并以用户想要的大小显示对话框,这是正常对话框所能做的…

您将陷入痛苦的世界。如果我理解正确,您将被要求创建一个始终为640*480像素的对话框。似乎自1995年以来,无论问这个问题的人都没有跟上UI开发的步伐像素在2014年毫无意义。首先,资源文件中的单位是“DLU”、“对话框长度单位”。有关如何将一个转换为另一个的一些初学者,请参见例如和support.microsoft.com/kb/125681。但是,对于高DPI显示,这些方法是不够的。现在,它不再仅仅取决于系统字体的大小,还取决于用户选择的在各种显示器上显示“东西”的大小设置、是否区分显示器等。请参阅开始部分。但是要小心,因为这些API都有更新,例如Win7、Win8和Win8.1在这方面都有新功能


所有这些当然对你没有帮助。制作一个适合640x480及以上的对话框并不十分困难;把它弄得越小越好。但这一部分:“我如何使我的应用程序适合任何分辨率,以便对话框上的所有控件都应可见。”真的很难。“任何”是否表示“也小于640x480”?“适合”是否意味着它在更高分辨率上也应该是“本地”的?对话框的大小是否可以调整?您可以使用上面xMRi建议的简单而健壮的方法,或者您必须让编写您的规范的人更清楚地了解他们想要什么,记住我上面概述的所有内容。

640*480 in 800*600屏幕-有什么问题?您有捕获吗?你的问题很难理解。。。