AGB  ·  Datenschutz  ·  Impressum  







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

mal wieder StayOnTop

Ein Thema von tinibeenie · begonnen am 28. Aug 2005 · letzter Beitrag vom 19. Okt 2005
Antwort Antwort
Seite 1 von 2  1 2      
tinibeenie

Registriert seit: 5. Feb 2005
Ort: Barsbüttel
34 Beiträge
 
Delphi XE6 Professional
 
#1

mal wieder StayOnTop

  Alt 28. Aug 2005, 14:10
Hallöchen!

In meinem Programm soll Form2 immer im Vordergrund bleiben. Bis jetzt hat es nicht funktioniert, folgende Wege habe ich schon probiert:
  • nur bei Form2 FormStyle auf fsStayOnTop gestellt,
  • bei Form1 und Form2 den FormStyle auf fsStayOnTop gestellt,
  • am besten funktioniert es mit
    Delphi-Quellcode:
    procedure TForm2.FormShow(Sender: TObject);
    begin
    SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
    SetWindowLong(Handle, GWL_HWNDPARENT, 0);
    end;
    allerdings erscheint dann Form2 extra in der Taskbar, das ganze Programm sollte insgesamt aber nur 1x in der Taskbar erscheinen.

Hat jemand eine Idee, wie man das machen könnte? Meine Forms haben alle BorderStyle bsNone, auf Form2 ist ein jvTransparentForm (macht aber glaub ich eh keinen Unterschied) und das ganze soll unter XP laufen.
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#2

Re: mal wieder StayOnTop

  Alt 28. Aug 2005, 14:18
wenn du mal die zeile mit dem SetWindowLong rausnimmst?
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
tinibeenie

Registriert seit: 5. Feb 2005
Ort: Barsbüttel
34 Beiträge
 
Delphi XE6 Professional
 
#3

Re: mal wieder StayOnTop

  Alt 28. Aug 2005, 14:30
Zitat von phXql:
wenn du mal die zeile mit dem SetWindowLong rausnimmst?
Hab ich auch schon ausprobiert, es erscheint dann zwar kein neuer Eintrag in der Taskbar, aber ich bekomm eine Fehlermeldung (Zugriffsverletzung in Adresse...) oder es funktioniert gar nicht (je nachdem, bei welchem Form ich fsStayOnTop auf true setze).
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#4

Re: mal wieder StayOnTop

  Alt 28. Aug 2005, 14:38
Ich wollte mal das selbe machen wie Du aber hat auch nicht so hingehauen wie ich wollte. Habe es halt dann mit einem Timer gemacht.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Application.BringToFront;
end;
Ist zwar nicht grad die feine Art aber wollte mir kein Kopf mehr mit den anderen Methoden machen. Stehe sowieso grad mit Delphi auf dem Kiegsfuß. *grrrrr*
  Mit Zitat antworten Zitat
tinibeenie

Registriert seit: 5. Feb 2005
Ort: Barsbüttel
34 Beiträge
 
Delphi XE6 Professional
 
#5

Re: mal wieder StayOnTop

  Alt 28. Aug 2005, 14:52
Hab's grad mal ausprobiert. Es funktionierte auch, aber das Problem ist, dass ich dann mit anderen Programmen nicht weiterarbeiten kann (es ist nämlich nur so ein kleines Form, was dann unten rechts in der Ecke dauerhaft zu sehen sein soll, man soll inzwischen aber was anderes machen können). Außerdem fing das Programm in der Taskbar ab und zu an zu blinken, so als hätte man es gerade erst geöffnet.
Hast du da vielleicht irgendwelche Bedingungen gesetzt, wann der Timer anfangen soll zu laufen?
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#6

Re: mal wieder StayOnTop

  Alt 29. Aug 2005, 19:26
stay on top heisst ja auch nur, dass das formular von den fenstern der EIGENEN anwendung ist. andere anwendungen sind davon nicht betroffen. normalerweise geht das aber auch ohne SetWindowLong...
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

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

Re: mal wieder StayOnTop

  Alt 12. Sep 2005, 16:01
Hallo,

schau hier einmal hier:

http://groups.google.de/group/borlan...360bcb446012af

und hier:

http://groups.google.de/group/borlan...9fda46db846ee1


Hatte das Problem auch gehabt...

Gruß
Patrick
Patrick Semmler
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#8

Re: mal wieder StayOnTop

  Alt 18. Okt 2005, 21:17
hi,

habe das gleiche problem. möchte eine Form immer im Vordergrund haben. Leider habe ich auch diesen zweiten Taskbareintrag, den ich nicht haben will. Kann mir jemand helfen. Konnte hier keine Lösung "rauslesen"
Gruß Fabi
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#9

Re: mal wieder StayOnTop

  Alt 19. Okt 2005, 00:22
Der zweite Taskbareintrag kommt durch dieses
SetWindowLong(Handle, GWL_HWNDPARENT, 0); Hast du es mal ohne diese Änderung des Parentwindoweintrags versucht?


Es gibt aber auch noch die Möglichkeit den Taskbareintrag der Anwendung zu entfernen,
dieses könntest du ja mal auf den Eintrag der Form anwenden?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#10

Re: mal wieder StayOnTop

  Alt 19. Okt 2005, 00:29
wenn man das weg lässt, ist es nicht wirklich immer im vordergrund. mache ich den tasbareintrag weg, auch nicht mehr....
Gruß Fabi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:43 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