I have not yet found a better solution for this. I have a non-modal dialog that can be opened in unlimited instances using the hotkey in the application. Even the dialogue itself can open a new instance. I want these dialogs to always be in front of the main application window. I tried a couple of things.
Any other suggestions :-)
From TCustomForm.PopupParent Property ;
If the PopupMode property is set to pmExplicit and PopupParent is zero, then Application.MainForm is implicitly used as PopupParent
.
AFAIK Delphi 2007 supports the MainFormOnTaskbar function. WITH
Application.MainFormOnTaskbar := True;
in the project source, ANY application form (with the default parent window) is shown above the main form.
, , "//" . , Delphi, - .
, , fsstayontop, - . , Windows, - Delphi.
, Z, .
If your dialogue is not so large as to hide other applications, you can move it, and users can access other applications without first entering the dialogue. It doesn't seem so bad.
You can try to look at the OnHide event and immediately set the Visible flag to TRUE. This is likely to cause flickering.