Delphi 7 形式,锚点在 Vista 中不起作用 [英] Delphi 7 forms, anchors not working in Vista

查看:28
本文介绍了Delphi 7 形式,锚点在 Vista 中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

该软件基于 Delphi 7 构建.

The software is built on Delphi 7.

在我的 XP 机器上,表单按我的预期调整大小.但是,在两台 Vista 机器上,我的组件的锚点设置为 [akLeft, akTop, akRight, akBottom],但是当我调整表单大小时,这些组件不会随表单一起拉伸,在右侧和底部边缘留下空白.在 XP 机器上,组件正确地随着表单拉伸.

On my XP machine, the form resizes as I expect. However, on two Vista machines, I have components with anchors set to [akLeft, akTop, akRight, akBottom], but when I resize the form, the components don't stretch with the form, leaving blank spaces on the right and bottom edge. On the XP machine, the components correctly stretch with the form.

因此,Vista 机器似乎忽略了锚点属性.任何想法是什么导致了这个以及如何解决它?

So, it seems like the Vista machine is ignoring the anchor property. Any ideas what's causing this and how to fix it?

重要更新(弗朗索瓦):
我们的 D2007 应用程序和所有 x64 窗口都遇到了同样的问题.
安德烈亚斯的回答确实是解决办法.所以它与 D7 或 Vista 无关.

Important update (François):
We had the same problem with our D2007 application and on all x64 windows.
Andreas' answer was indeed the fix. So it is not D7 nor Vista related.

推荐答案

可能和你的控件有很多父控件时出现的Windows Kernel stack overflow"问题有关.如果您在 64 位系统上运行它,内核堆栈溢出发生得更快.(更多关于这里:http://news.jrsoftware.org/news/toolbar2000/msg07779.html)

Maybe it is related to the "Windows Kernel stack overflow" problem that occurs if your control has many parents. And if you run it on a 64 bit system the kernel stack overflow happens much faster. (more about this here: http://news.jrsoftware.org/news/toolbar2000/msg07779.html)

在 Embarcadero 的 CodeCentral 上是此错误的解决方法(它也几乎以 1:1 的比例复制到 Delphi 2009 VCL 中):http://cc.embarcadero.com/Item/25646

On Embarcadero's CodeCentral is a workaround for this bug (which is also copied almost 1:1 into the Delphi 2009 VCL): http://cc.embarcadero.com/Item/25646

这篇关于Delphi 7 形式,锚点在 Vista 中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆