AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form auf fsStayOnTop setzen

Ein Thema von Tim.exe · begonnen am 2. Jun 2003 · letzter Beitrag vom 13. Jan 2004
Antwort Antwort
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#1

Form auf fsStayOnTop setzen

  Alt 2. Jun 2003, 13:40
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:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.FormStyle := fsStayOnTop;
Form2.ShowModal;
end;
Selbstverständlich ist im Objektinspektor von Form2 auch fsStayOnTop deklariert...aber es will nicht...
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#2
  Alt 2. Jun 2003, 14:03
OK, habs schon:

Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
Hab mich vorhin auch verschrieben gehabt, habe da ...NOTOPMOST... geschrieben, und dann funktionert es natürlich nicht
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#3
  Alt 2. Jun 2003, 14:21
kapier ich nicht. Wenn Du Form2 modal anzeigst, ist es doch sowieso vor den anderen Formularen ?!?!?

Roderich
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#4
  Alt 2. Jun 2003, 14:26
Ich glaub Stay On Top is, dass das Form immer oben bleibt, auch wnn man zu ner anderen Anwedung wechselt.
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#5
  Alt 2. Jun 2003, 14:28
Zitat von Stanlay Hanks:
Ich glaub Stay On Top is, dass das Form immer oben bleibt, auch wnn man zu ner anderen Anwedung wechselt.
Ganz genau so is it
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#6
  Alt 2. Jun 2003, 15:32
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
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#7

Re: Form auf fsStayOnTop setzen

  Alt 13. Jan 2004, 16:50
Moin, moin

Tja, bei mir funtkioniert das seltsamerweise überhaupt nicht.


Delphi-Quellcode:
 
   procedure TForm2.FormShow(Sender: TObject);
   begin
     SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
   end;
Gibt es da noch einen Trick. Wenn ich die nächste Applikation starte setzt die sich dreisterweise hleich in den Vordergrund

[edit=Luckie]Smilies durch Delphi-Tags ersetzt. Mfg, Luckie[/edit]
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Form auf fsStayOnTop setzen

  Alt 13. Jan 2004, 17:00
Man kann wohl nur das Hauptformular / Fenster auf "StayOnTop" setzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#9

Re: Form auf fsStayOnTop setzen

  Alt 13. Jan 2004, 17:39
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
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#10

Re: Form auf fsStayOnTop setzen

  Alt 13. Jan 2004, 19:53
Moin, nochmal,


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:
procedure TForm2.FormShow(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
So habe ich jetzt auch meinen Splash-Screen auf StayOn top bis ich Ihn nach drei Sekunden
per Timer schließen lasse.

Schönen Anbend noch... // Martin

Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 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