【问题标题】:Delphi, application scaling, Windows 7Delphi,应用程序扩展,Windows 7
【发布时间】:2013-04-19 13:45:45
【问题描述】:

大家好。

我在将 Delphi 7 应用程序用于 Windows 7 时遇到问题。

它非常适合 XP 等较旧的 Windows,但在 Win7 上,表单被缩放到更高的 dpi,这完全破坏了表单上的所有内容。

所以,我的问题 - 有没有办法修复它以在 win7 上正常工作,或者以某种方式完全禁用缩放?

我尝试搜索,但找不到任何适合我的东西,非常感谢您的帮助。

【问题讨论】:

  • 为什么要禁用缩放?有视力缺陷的用户怎么办?您是否想到这些用户启用字体缩放是有原因的?
  • @NewProger 您是否知道 Windows 7 有一个字体大小设置会首先影响这一点?因为当我阅读您的问题时,您似乎认为这就是 Windows 7 的工作方式,而不是 XP。
  • 我在谷歌上搜索了大约 20 个小时,然后通过更改我的代码的一些属性和部分来解决这个问题。现在我不知道为该网站做出贡献的最佳方式是什么,因为即使我尝试回答我自己的问题,这对于我的特定情况来说也太具体了......我想有人可能会回答一些链接很好的教程,我会把这个答案打勾作为一个选定的答案。
  • @NewProger 你可以回答你自己的问题。我有这个问题,想知道您的解决方案是什么。

标签: delphi windows-7 scaling dpi


【解决方案1】:

我在 2003 年左右(当时)大 22 英寸的 XP 上看到了这种现象(作为聘请的顾问):MS C++ 应用程序上的按钮消失在表单的右侧。当时,开发人员 ( 500 公里外)以前从未见过这种现象。

我最近在 D7 中通过以下方式解决了类似问题:

  1. 在旧的开发机器上设置大字体并摆弄 (相当中等的)表单大小以容纳可见组件。 但是,设置大字体导致老win2000崩溃,永远不会 完全康复...
  2. 在更现代的机器(带 D7 的 XP)上,我将 Scaling 属性设置为 Form1 上的 False 效果很好,即字体更小。这 有问题的程序在几个壁挂式触摸屏上运行 预装 Win7 的 PC 具有令人难以置信的大字体(因为它是 触摸屏)。

我找不到比在开发人员机器上临时设置 Silly Large Fonts 并看看会发生什么更好的方法。 (我看到这里现在有很多相关的问题!...)

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2010-12-27
    • 2010-12-08
    • 2012-01-28
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多