问题
I've been searching, but cannot find a solution so I figured perhaps I should simply post it.
Here's what I'd like to do, in Delphi (2009):
At a certain moment in my application, I'd like to show a message to the user.
This should be the normal hint window, which automatically disappears after the normal application defined hint pause, with a custom message (and have it automatically sized etc etc).
This should be non blocking, like a normal hint, not dependent on the current control or whatever.
"Just show the damn message", in the Application hint window and carry on.
Any clues?
回答1:
You can use a CustomHint:
with TCustomHint.Create(Self) do begin
Title := 'temporary message';
Delay := 0;
HideAfter := 2000;
ShowHint(Point(X, Y));
end;
However it is not destroyed at the time it's hidden, but when its owner (Self) is destroyed. But you can of course re-use the same hint instance.
回答2:
You can use THintWindow for this. Create an instance of THintWindow
and when you want to show the window call ActivateHint. When you are ready to close the window call ReleaseHandle. If you want to have the hint window close after a period of time, you'll want to run a timer to allow you the opportunity to ReleaseHandle
when time is up.
来源:https://stackoverflow.com/questions/22870464/forcing-a-non-blocking-temporary-hint-window-in-delphi