![]() |
BringToFront ohne Activate
Hi,
ich suche nach einer möglichkeit, ein Formular nach vorne zu bringen, ohne es zu aktivieren.
Delphi-Quellcode:
Wie zu sehen ist, soll das form_Inspector nach vorne geholt werden wenn Form_DFMPreview aktiviert wird. Das funktioniert, jedoch wird form_Inspector aktiviert und Form_DFMPreview kann nicht aktiviert werden.
procedure TForm_DFMPreview.FormActivate(Sender: TObject);
begin if form_Inspector.visible then form_Inspector.show; end; Da Beide Forms nicht modal sein sollen, kann z.B. das Mainform die Formulare überdecken. wenn zum Preview-form gewechselt wird sollen aber beide Formulare wieder voll sichtbar sein. Die beiden Formulare gehören zusammen (inspector ist an preview gedockt). Ich hoffe, ich habe mich deutlich ausgedrückt... Gruß Frank |
Re: BringToFront ohne Activate
Guten Morgen Frank,
die API Funktion SetWindowPos() erlaubt dir bei Verwendung des Flags SWP_NOACTIVATE die Z-Ordnung zu verändern ohne dass das entsprechende Fenster aktiviert wird. Grüße vom marabu |
Re: BringToFront ohne Activate
Danke, an SetWindowPos hatte ich jetzt gar nicht gedacht, aber funktioniert super...
wens interessiert:
Delphi-Quellcode:
procedure TForm_DFMPreview.FormActivate(Sender: TObject);
begin if form_Inspector.visible then SetWindowPos(form_Inspector.handle,HWND_TOP,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz