AGB  ·  Datenschutz  ·  Impressum  







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

"Echte" StayOnTop Form öffnen

Ein Thema von lasermouse · begonnen am 16. Dez 2007 · letzter Beitrag vom 18. Dez 2007
Antwort Antwort
lasermouse

Registriert seit: 16. Dez 2007
12 Beiträge
 
#1

"Echte" StayOnTop Form öffnen

  Alt 16. Dez 2007, 23:04
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??
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#2

Re: "Echte" StayOnTop Form öffnen

  Alt 17. Dez 2007, 07:22
Hallo,

Du must beim TApplication.OnDeactivate ein Application.RestoreTopMosts ausführen.

Gruß
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: "Echte" StayOnTop Form öffnen

  Alt 17. Dez 2007, 08:27
Wollen wir hoffen, dass nicht zur gleichen Zeit ein Programm läuft, was das selbe tut, sieht dann bestimmt gut aus,
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
lasermouse

Registriert seit: 16. Dez 2007
12 Beiträge
 
#4

Re: "Echte" StayOnTop Form öffnen

  Alt 17. Dez 2007, 23:58
Zitat von holliesoft:
Hallo,

Du must beim TApplication.OnDeactivate ein Application.RestoreTopMosts ausführen.

Gruß
Patrick
Das bringt leider auch nichts ;( Die Form verdeckt weiterhin bloß Delphi-Forms.

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;
  Mit Zitat antworten Zitat
lasermouse

Registriert seit: 16. Dez 2007
12 Beiträge
 
#5

Re: "Echte" StayOnTop Form öffnen

  Alt 18. Dez 2007, 14:50
Könnte den Beitrag jemand in die WinAPI Ecke verschieben? Denke der wäre dort besser aufgehoben...
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: "Echte" StayOnTop Form öffnen

  Alt 18. Dez 2007, 16:44
Hallo,

folgendes funktioniert bei mir:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  form2.show;
end;
und dann im onShow Ereignis von Form 2:
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;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
18. Dez 2007, 18:14
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
lasermouse

Registriert seit: 16. Dez 2007
12 Beiträge
 
#8

Re: "Echte" StayOnTop Form öffnen

  Alt 18. Dez 2007, 21:49
@Bitsetter

Das geht! Danke!
  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 03:24 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