3

我有一个带有一些位图、对话框和菜单的 MFC 应用程序。目前它只支持一种显示器分辨率(1280x1024)。我计划为其添加不同的显示器分辨率支持。为此,我想我必须加载不同分辨率的位图、更改字体大小等。我的问题是,这些在典型的 Windows 应用程序中是如何处理的?他们是使用单个位图并根据显示器分辨率拉伸/收缩它,还是实际上在资源中有不同的位图集并根据分辨率动态加载它们?有没有标准的解决方案?

4

5 回答 5

2

在过去,我使用了一张大图像并进行了相应的缩放。

确保调整菜单和对话框的大小很棘手,但 CodeProject 上有帮助代码可以提供帮助。

于 2009-06-01T10:29:55.197 回答
1

我会说使用具有不同分辨率的多种资源。虽然您可以动态缩放图标,但如果您在适当的图像编辑程序中调整它们的大小,它们可能看起来会更好。

于 2009-06-01T14:43:50.223 回答
1

无论屏幕分辨率如何,菜单和工具栏图标通常以相同数量的像素显示。因此,随着分辨率的增加,菜单和工具栏占据的屏幕比例越来越小。

我认为没有任何标准方法可以处理涉及位图的不同分辨率。

于 2009-06-01T14:47:13.493 回答
1

我还将确保您的应用程序适用于 Windows DPI 缩放。当在更高分辨率的显示器上运行而不是重新设计应用程序以满足特定分辨率时,这可能是一个更好的选择。

于 2009-06-01T15:08:49.783 回答
0

缩放位图看起来很糟糕(使它们变大总是看起来很糟糕,使它们变小取决于源)。如果可能的话,看看你是否可以用几个可以很好地缩放的小位图组成你的大位图。很多时候,制作一个可以很好地在一个方向上缩放的位图是相当容易的。例如,如果您想围绕某物制作一个框架,而不是使用一个位图,而是将其像井字棋盘一样切成 9 块。四个角块保持原来的大小,顶部和底部的部分水平伸展,左右垂直,中心是两个方向(如果有的话)。

于 2009-06-01T15:40:12.583 回答