我们有一个在大约10年前开发的Windows 7 Professional SP1上运行的Delphi 7程序。在当前系统上,它变得无法使用,因为某些表单元素的大小不正确,因此它们包含的文本不适合那里或图形溢出窗口的底部:
图1:表行的大小不正确(或文本大于应有的大小)
图2:窗口中有一个图形,但图形的底部不可见。而且没有滚动条......
我们没有源代码,也没有与开发软件的人员联系。我们认为该软件是在Delphi 7中构建的,因为它使用了几个xxxx70.bpl库。
我们尝试更改屏幕的分辨率并更改用于运行程序的兼容模式,但没有运气。
我们可以尝试一下吗?
答案 0 :(得分:4)
您的程序不支持DPI,并且您正在运行字体缩放设置,这意味着要求应用程序进行扩展。应用程序字体会自动缩放,但您的Delphi应用程序无法适应。
我可以为您看到一些选项:
Scaled
属性设置为true。这需要一个了解Delphi的资源编辑器。例如XN资源编辑器。我不知道这是否有效。如果它确实有效,则每个表单将根据字体缩放重新缩放。 更新
第二个想法是强制DPI虚拟化无济于事。系统会告诉您的应用程序字体缩放比例为125%并从那里开始缩放。但是你的应用程序似乎甚至无法正确处理125%的缩放比例。所以除了禁用所有字体缩放或者尝试使用Scaled
属性之外别无选择。