Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Systemfenster mit fsStayonTop nicht verdecken (https://www.delphipraxis.net/110892-systemfenster-mit-fsstayontop-nicht-verdecken.html)

Tim Henford 26. Mär 2008 11:05


Systemfenster mit fsStayonTop nicht verdecken
 
Hallo,

ich lasse von meinem Programm eine DLL-Funktion aufrufen, in der ein weiteres Fenster über dem Hauptfenster meines Programmes geöffnet werden soll. Nun soll dieses aber immer im Vordergrund meines Hauptprogrammes sein, aber dennoch sollen anderen Anwendungen nicht von diesen Fenstern aus der DLL verdeckt werden.
Ich habe es mit der fsStayonTop-Property probiert, aber da werden alle anderen Fenster des Systems leider verdeckt.
Was kann man da machen?

Danke Tim

toms 26. Mär 2008 12:20

Re: Systemfenster mit fsStayonTop nicht verdecken
 
Hallo Tim

Ich denke nicht, dass das so umsetzbar ist.
Denn eine StayOnTop Eigenschaft für nur eine bestimmte Anwendung kenne ich nicht.

Tim Henford 26. Mär 2008 12:34

Re: Systemfenster mit fsStayonTop nicht verdecken
 
Hey, danke
ich dachte irgendwo gelesen zu haben, dass wenn fsStayOnTop von Unterfenstern eines Hauptfensters gesetzt wurde, gilt dies nur für die Anwenundung und nicht systemweit. So wollte ich das auch, aber da das Fenster von der DLL generiert wurde, gehört es wohl nicht direkt zum Hauptfenster...

toms 26. Mär 2008 12:45

Re: Systemfenster mit fsStayonTop nicht verdecken
 
Vielleicht geht das indem du die CreateParams Methode des Unterfensters überschreibst
und in ihr params.wndparent := HandlederMailForm setzt.

Tim Henford 26. Mär 2008 13:43

Re: Systemfenster mit fsStayonTop nicht verdecken
 
danke für deine Hilfe.
wie würde man sowas denn anstellen?
Also die CreateParams Methode des Unterfensters überschreiben?

OregonGhost 26. Mär 2008 13:47

Re: Systemfenster mit fsStayonTop nicht verdecken
 
Ich weiß nicht, ob das unter Delphi genauso ist, aber generell unter Windows und auch z.B. in Windows Forms ist es so, dass du diesen Fenstern als Owner (nicht als Parent) dein Hauptformular gibst, wodurch sie automatisch vor dem Hauptformular bleiben, jedoch nicht notwendigerweise vor Fenstern von anderen Anwendungen.

toms 26. Mär 2008 14:14

Re: Systemfenster mit fsStayonTop nicht verdecken
 
Zitat:

Zitat von Tim Henford
danke für deine Hilfe.
wie würde man sowas denn anstellen?
Also die CreateParams Methode des Unterfensters überschreiben?


Delphi-Quellcode:
public
    { Public-Deklarationen }
    procedure CreateParams(var Params: TCreateParams); override;
  end;

var
  Unterform: TUnterform;

implementation

{$R *.DFM}

procedure TUnterform.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  // evtl. Params.ExStyle := Params.ExStyle + WS_EX_APPWINDOW;
  Params.WndParent := Mainform.Handle; // Handle der Hauptform zuweisen
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz