在高分辨率屏幕中调整按钮图像大小

发布于 2025-01-10 00:47:01 字数 368 浏览 3 评论 0原文

我有一个带有很多按钮栏和很多图形界面的项目,我遇到的问题是,使用图形卡和新的高分辨率显示器,在缩放时,例如,在屏幕配置中设置 150%,按钮出现时图像非常小;内部图像不会像应用程序的其余部分一样重新缩放到 150%。

我以这种方式向一系列按钮分配图像:

CImageList ilTest;
ilTest.Create(IDB_IL_DOC, 32, 0, RGB(255, 0, 255));
m_picDoc.SetIcon (ilTest.ExtractIcon (0));

...

是否可以以某种方式对其进行修改,以便按钮图像以与界面其余部分相同的比例缩放?

I have a project with a lot of button bars and a lot of graphic interfaces, the problem I have is that with graphic cards and new high-resolution monitors, when scaling, for example, 150% is set in the screen configuration, the buttons appear with the image very small; the image inside is not re-scaled to 150% like the rest of the application.

There is a series of buttons to which I assign the image in this way:

CImageList ilTest;
ilTest.Create(IDB_IL_DOC, 32, 0, RGB(255, 0, 255));
m_picDoc.SetIcon (ilTest.ExtractIcon (0));

...

Can it be modified in some way so that the button image is scaled in the same proportion as the rest of the interface?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

随心而道 2025-01-17 00:47:01

请参阅本文:MFC 应用程序现在默认为具有 DPI 意识

引用介绍性段落:

您好,我是 Pat Brenner,Visual C++ 库团队的开发人员,
主要负责MFC。我想让你意识到一个微妙的
但我们对 MFC 应用程序所做的有意义的改变
Visual Studio 2010:所有 MFC 应用程序现在都标记为“DPI 感知”
默认情况下
。这意味着您的应用程序预计能够处理
各种 DPI(每英寸点数)设置,而不仅仅是默认值 (96 DPI),
因为Windows不会自动缩放用户界面
您的应用程序的元素与系统选定的 DPI 相匹配。

它最终链接到这篇文章: Windows 上的高 DPI 桌面应用程序开发,其中通过一些示例进行了详细介绍。

我承认我在自己的项目中并没有深入研究解决DPI问题。这是我应该做的事情。

See this article: MFC applications now default to being DPI-aware.

To quote the introductory paragraph:

Hello, I’m Pat Brenner, a developer on the Visual C++ Libraries team,
mainly responsible for MFC. I wanted to make you aware of a subtle
but meaningful change that we have made regarding MFC applications in
Visual Studio 2010: all MFC applications are now marked as ‘DPI aware’
by default
. This means that your application is expected to handle
various DPI (dots-per-inch) settings, not just the default (96 DPI),
because Windows will not automatically scale the user interface
elements of your application to match the selected DPI of the system.

It eventually links to this article: High DPI Desktop Application Development on Windows which goes into details with some examples.

I admit that I have not delved into addressing the DPI issues in my own projects. It is something I should do.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文