在Delphi中强制使用非阻塞临时提示窗口

时间:2014-04-04 18:31:43

标签: delphi delphi-2009

我一直在寻找,但找不到解决方案,所以我想也许我应该发布它。

这就是我想要做的事情,在Delphi(2009)中:

在我的申请中的某个时刻,我想向用户显示一条消息。

这应该是正常的提示窗口,它会在正常的应用程序定义提示暂停后自动消失,带有自定义消息(并自动调整大小等)。

这应该是非阻塞的,就像正常提示一样,不依赖于当前控件或其他任何东西。

“只显示该死的消息”,在应用程序提示窗口中继续。

任何线索?

2 个答案:

答案 0 :(得分:9)

您可以使用CustomHint

with TCustomHint.Create(Self) do begin
  Title := 'temporary message';
  Delay := 0;
  HideAfter := 2000;
  ShowHint(Point(X, Y));
end;

然而,它隐藏时并没有被破坏,但是当它的拥有者(Self)被摧毁时。但是你当然可以重复使用相同的提示实例。

答案 1 :(得分:1)

您可以使用THintWindow。创建THintWindow的实例,并在何时显示窗口调用ActivateHint。当您准备关闭窗口呼叫ReleaseHandle时。如果您希望在一段时间后关闭提示窗口,则您需要运行计时器,以便在时间到了时{J}有机会{/ 1}}。