2009-11-06 58 views
0

是否可以通过编程方式设置应用程序的DPI,还是只能通过系统偏好设置DPI?是否可以以编程方式设置应用程序的DPI?

注意:我的应用程序的GUI以MFC和.NET形式编码。

更新: 经过一番研究,我发现没有办法做到这一点,所以我必须同意这里唯一的答案;它不能完成。

+4

真正的DPI取决于输出设备(屏幕,打印机等),所以它应该设置在输出驱动器级别。它不会使* sense *以每个应用程序为基础进行设置。 – Quentin 2009-11-06 13:47:52

+0

@大卫其实它确实有道理。它运行在带有触摸屏的设备上,并使其更加友好。我希望将所有事情都做得更大(尽可能减少努力)。然而,我确实希望保持系统DPI完好无损,适用于Windows和其他应用程序。 – 2009-11-06 13:53:32

+0

不,它没有意义,DPI不是每个应用程序设置或甚至应用程序级别的概念。您将需要手动增加所有控件的大小。 – Roel 2009-11-06 14:54:49

回答

1

假设您正在讨论确定物理DPI设置(取决于物理屏幕+分辨率)之间的比率的Windows系统范围设置,最简单的答案是“您不能”不在WinForms应用程序的应用程序级别。

可以做什么,是添加缩放代码到你的表格,参见this StackOverflow条目。基本上,将AutoScaleMode设置为ScaleMode.Dpi。有关更多信息,请参阅其他条目。

+0

我试图达到系统范围的设置具有相同的效果,但只在我的应用程序。换句话说,我想让Windows自动扩展我的应用程序,但我希望应用程序提供DPI。 – 2009-11-06 14:13:06

相关问题