5

在 Windows Vista 和 Win7 下,由 Delphi 创建的包含 XP 清单的应用程序存在问题(我们使用 Delphi 2006,但似乎其他版本也有同样的问题)。

TButtonControl 的所有后代(TButton、TCheckBox、TRAdioButton,但不是 TBitBtn)在最初显示窗体后不可见。当您将鼠标移到控件上时,控件就会出现。每个表单只发生一次,直到我重新启动应用程序。

它似乎与加速键的隐藏/显示有关(默认在 Vista/Win7 上隐藏)。

我能做些什么来避免这种情况?

4

4 回答 4

9

This is a Delphi bug.

于 2010-07-09T08:19:10.167 回答
3

如果您编译一个新的 XP 清单并用它替换 WindowsXP.res,问题就会消失。

于 2010-07-09T08:27:58.873 回答
2

我认为这是最好/最简单的解决方法。它只需要主窗体的 OnCreate 中的一行代码。

于 2010-07-10T08:46:53.583 回答
0

过程 TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 如果 Key = 18 则开始,然后 Key := 0; 结尾;

于 2013-02-07T08:18:05.680 回答