So könnte es vielleicht gehen (Quick & Dirty!):
Delphi-Quellcode:
type
TOverlayForm = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure ScreenActiveFormChange(Sender: Tobject);
protected
procedure CreateParams(var Params: TCreateParams); override;
public
end;
procedure TOverlayForm.FormCreate(Sender: TObject);
begin
Screen.OnActiveFormChange := ScreenActiveFormChange;
end;
procedure TOverlayForm.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST or WS_EX_NOACTIVATE;
end;
procedure TOverlayForm.ScreenActiveFormChange(Sender: Tobject);
begin
if (Screen.ActiveCustomForm <> Self) then begin
PopupParent := Screen.ActiveCustomForm;
end;
end;