Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#11

AW: VCL-Fenster oberhalb eines ShowModal()-Fensters

  Alt 17. Jan 2018, 12:13
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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat