我如何处理 Windows 7 的 125% 或 150% 放大倍率 (Delphi)

Posted

技术标签:

【中文标题】我如何处理 Windows 7 的 125% 或 150% 放大倍率 (Delphi)【英文标题】:How Do I Handle Windows 7's 125% or 150% Magnification (Delphi) 【发布时间】:2011-02-26 03:57:45 【问题描述】:

Windows 7 在其控制面板、外观和个性化、显示设置中添加了将文本和其他项目放大 125% 或 150% 的功能。

完成后,我的 Delphi 2009 程序的窗体和对话框的一些内容会被截断。

我需要进行哪些更改以确保我的所有表单和对话框在 Windows 7 上的任何放大设置下都能正常显示。

【问题讨论】:

我想我有一个相关的问题 - 我使用了一个名为 Apprehend Screen Capture hi-components.com/apprehend 的组件它曾经非常好,现在仍然非常好,但很长时间没有更新.它会进行一些橡皮筋式的捕捉,在其中制作桌面的位图副本,然后将其显示在隐藏的表单上,这样您就可以在上面加上橡皮筋。这一切都被屏幕放大率弄脏了。到目前为止,唯一的防御措施是在没有视频缩放的兼容模式下运行。真可惜。我有兴趣看看这些是否相关 - 我想是的。 【参考方案1】:

听起来您指的是文本大小设置,它在 Windows 中以各种形式存在多年,以及 Delphi 表单与此设置的交互及其自动缩放。我这里没有要检查的 Windows 7,所以我只是根据你的描述来做这个。

由此引起的问题在 Delphi 应用程序中很常见。您可能想尝试将表单的 Scaled 属性设置为 false,但首先阅读这些链接中的信息 - 这样做可能并不是最好的解决方案,但这取决于您的程序。

试试这些链接:

这个very useful article 解释了这是多么普遍 说,“这听起来很熟悉吗? 你已经完成了那个优雅的形式并且 抛光的外观和感觉 控件,然后您将其发送到您的 最终用户。第一件事 用户抱怨的是表单 在他们的 Windows PC 上无法读取。 他们抱怨文本标签 被砍掉,编辑控件 跑过表格的边缘,并且 表格的底部甚至不是 可见的。发生了什么?”。幸好它有解决方案,嘿 :)

这个delphi.about.com article 也值得一读。

希望有帮助!

大卫

【讨论】:

以上是关于我如何处理 Windows 7 的 125% 或 150% 放大倍率 (Delphi)的主要内容,如果未能解决你的问题,请参考以下文章

我如何处理 .FirstOrDefault 方法?

在 Perl 中,我如何处理整个哈希?

我如何处理 PayPal 公钥?

我如何处理导航返回按钮视图层次结构?

使用 Haskell,我如何处理大量的 XML?

我如何处理 java 命令行参数? [复制]