![]() |
Form auf fsStayOnTop setzen
Hallo,
ich schaffe es irgendwie nicht eine Form auf 'fsStayOnTop' zu setzen. Habe folgendes schon ausprobiert:
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin SetWindowPos(Handle,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE); end;
Delphi-Quellcode:
Selbstverständlich ist im Objektinspektor von Form2 auch fsStayOnTop deklariert...aber es will nicht...
procedure TForm1.Button1Click(Sender: TObject);
begin Form2.FormStyle := fsStayOnTop; Form2.ShowModal; end; |
OK, habs schon:
Delphi-Quellcode:
Hab mich vorhin auch verschrieben gehabt, habe da ...NOTOPMOST... geschrieben, und dann funktionert es natürlich nicht :mrgreen:
procedure TForm2.FormShow(Sender: TObject);
begin SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; |
kapier ich nicht. Wenn Du Form2 modal anzeigst, ist es doch sowieso vor den anderen Formularen ?!?!?
Roderich |
Ich glaub Stay On Top is, dass das Form immer oben bleibt, auch wnn man zu ner anderen Anwedung wechselt.
|
Zitat:
|
Ich weiß nicht welche Delphi-Version ihr habt, aber bei 5 und 6 bedeutet fsStayOnTop, dass das Form vor anderen nicht-modalen Forms der gleichen Anwendung ist.
Also nix mit vor allen anderen Anwendungen. Roderich |
Re: Form auf fsStayOnTop setzen
Moin, moin
Tja, bei mir funtkioniert das seltsamerweise überhaupt nicht.
Delphi-Quellcode:
Gibt es da noch einen Trick. Wenn ich die nächste Applikation starte setzt die sich dreisterweise hleich in den Vordergrundprocedure TForm2.FormShow(Sender: TObject); begin SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; [edit=Luckie]Smilies durch Delphi-Tags ersetzt. :roll: Mfg, Luckie[/edit] |
Re: Form auf fsStayOnTop setzen
Man kann wohl nur das Hauptformular / Fenster auf "StayOnTop" setzen.
|
Re: Form auf fsStayOnTop setzen
Danke Lcuckie,
auch für die Nachformatierung (mir ist der Browser abgestürtzt und da gingen die Skripte nicht mehr) Ja ich wollte das Stay on Top mit einem Splash-Screen realisieren und da das eigentliche Programm nur einen kleinen Teil des Bildschirms bedeckt, sollte das Splasch-Form sich auch nicht von anderen Anwendungen währedn etwa vier Sekunden unterdrücken lassen. Tja nochmal drüber knoblen was ich da nun mache :? Grüße aus der Stadt an der "wässrigen Leine" // Martin |
Re: Form auf fsStayOnTop setzen
Moin, nochmal,
:idea: :idea: :idea: hatte gerade noch einen Zufallstreffer: Man kann auch Nicht-Hauptformulare auf StayOnTop bringen. 1. Hauptformular auf Stay-onTop setzen 2 Unterfomular auf StayOnTop setzen 3 Im Unterformular unseren WinApi aufruf durchführen
Delphi-Quellcode:
So habe ich jetzt auch meinen Splash-Screen auf StayOn top bis ich Ihn nach drei Sekunden
procedure TForm2.FormShow(Sender: TObject);
begin SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; per Timer schließen lasse. Schönen Anbend noch... // Martin :P |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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