![]() |
"Echte" StayOnTop Form öffnen
Es gibt ja bei Delphi die Option "StayOnTop" für Forms...aber so richtig geht das nicht....die Form überdeckt zwar andere Forms,
aber wie kann man es machen, das diese IMMER im Vordergrund bleibt? Also wenn man jetzt ein Fenster auf die Form schiebt, dann überdeckt dies diese...es soll aber dahinter verschwinden Weiss jemand wie das geht? Hab diesen COde gefunden: SetwindowPos(Form2.Handle,HWND_TOPMOST,0,0,0,0, SWP_NOMOVE or SWP_NOSIZE); Das geht auch...allerdings bleibt es nur bei delphi eigenen fenstern im vordergrund...andere anwendungen überdecken die form weiterhin EDIT: Wenn ich das ganze auf die Mainform anwende, dann klappt es so wie es soll..bloß wie geht das für Form2?? |
Re: "Echte" StayOnTop Form öffnen
Hallo,
Du must beim TApplication.OnDeactivate ein Application.RestoreTopMosts ausführen. Gruß Patrick |
Re: "Echte" StayOnTop Form öffnen
Wollen wir hoffen, dass nicht zur gleichen Zeit ein Programm läuft, was das selbe tut, sieht dann bestimmt gut aus, :|
|
Re: "Echte" StayOnTop Form öffnen
Zitat:
Hier der aktuelle Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin form2.show; delay(100); SetWindowPos(form2.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; procedure TForm2.FormDeactivate(Sender: TObject); begin Application.RestoreTopMosts; end; |
Re: "Echte" StayOnTop Form öffnen
Könnte den Beitrag jemand in die WinAPI Ecke verschieben? Denke der wäre dort besser aufgehoben...
|
Re: "Echte" StayOnTop Form öffnen
Hallo,
folgendes funktioniert bei mir:
Delphi-Quellcode:
und dann im onShow Ereignis von Form 2:
procedure TForm1.Button1Click(Sender: TObject);
begin form2.show; end;
Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
begin Application.NormalizeAllTopMosts; SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; |
DP-Maintenance
Dieses Thema wurde von "r_kerber" von "VCL / WinForms / Controls" nach "Windows API / MS.NET Framework API" verschoben.
Das hat eher etwas mit der WinAPI zu tun |
Re: "Echte" StayOnTop Form öffnen
@Bitsetter
Das geht! Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 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