是否可以通过编程方式设置应用程序的 DPI?
是否可以通过编程方式设置应用程序的 DPI,或者只能通过系统首选项设置 DPI?
注意:我的应用程序的 GUI 是以 MFC 和 .NET 形式编码的。
更新: 经过一番研究后,我发现没有办法做到这一点,所以我不得不同意这里唯一的答案;这是不可能的。
Is it possible to set the DPI of an application programmatically or the DPI only possible to set through the system preference?
Note: My application's GUI is coded in MFC and .NET forms.
Update:
After some research I have found no way of doing this so I have to agree with the only answer here; it cannot be done.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设您正在谈论 Windows 系统范围的设置,该设置决定物理 DPI 设置(取决于物理屏幕 + 分辨率)之间的比率,简单的答案是“您不能”,至少在WinForms 应用程序中的应用程序级别。
您可以做的就是向表单添加缩放代码,请参阅此 StackOverflow 条目。基本上,将
AutoScaleMode
设置为ScaleMode.Dpi
。有关更多信息,请参阅其他条目。Assuming that you are talking about the Windows system-wide setting that determines the ratio between the physical DPI setting (that depends on the physical screen + resolution), the simple answer is "you can't", at least, not on at the application level in a WinForms app.
What you can do, is add scaling code to your form, see this StackOverflow entry. Basically, set the
AutoScaleMode
toScaleMode.Dpi
. See the other entry for more info.