| Autor |
Beitrag |
Atreyu
      
Beiträge: 137
Delphi 7 Enterprise
|
Verfasst: Di 27.11.07 17:02
Ich habe bei meiner Anwendung standardmässig fsStayOnTop aktiv.
Nur leider wird das immer wieder sporadisch übergangen, ich habe keine Ahnung, wieso. Es scheint vollkommen willkürlich zu passieren. Der Style bleibt zwar in den Einstellungen wie er ist, aber wird von Windows nicht mehr berücksichtigt. Passiert nur ab- und zu.
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Di 27.11.07 17:30
Naja. Du könntest ein ApplicationEvents draufziehen und dort bei OnDeactivate Application.BrinToFront; aufrufen. Somit würde die Anwendung immer wieder nach vorn geholt (und damit ja alle Forms auch mit  ).
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Di 27.11.07 17:30
Vergiss es. Es ist eher ein Versuch es oben zu halten.
Am besten du benutzt einen Timer der pro Sekunde das Programm immer wieder zurück nach oben setzt. dann bleibt es nur max 1 Sekunde im Hintergrund.
_________________ Popov
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 27.11.07 17:34
Die Methode von Regan ist hier zu bevorzugen [auch wenn beide Posts gleichzeitig erstellt wurden  ].
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 27.11.07 17:42
Nur mal so am Rande...es ist zwar schön, wenn eine Anwendung im Vordergrund bleibt, aber stellt euch einfach mal vor, auf dem Rechner laufen zwei Anwendungen, die das machen...  Wenn sich beide im Sekundentakt nach vorne bringen, naja. Bedienbar ist dann was anderes 
_________________ We are, we were and will not be.
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Di 27.11.07 18:41
Aber bei meiner Variante geschieht das doch nicht im Sekundentakt? Oder liege ich da falsch?
|
|
Sinspin
      
Beiträge: 1340
Erhaltene Danke: 120
Win 10
RIO, CE, Lazarus
|
Verfasst: Di 27.11.07 18:43
Ich kenne das Problem auch von anderen Programmen. Bei einem Texteditor mit dem ich oft arbeite kann ich einstellen das er immer vorne bleiben soll. Das geht auch eine ganze Weile gut. Aber nach dem x-ten mal minimieren und wieder hervorhohlen bleibt er dann einfach nicht mehr im Vordergrund.
Die Einstellung wird bei mir auch ignoriert wenn sich das Programm mal im Systray befunden hat.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Di 27.11.07 18:51
Regan hat folgendes geschrieben: | | Aber bei meiner Variante geschieht das doch nicht im Sekundentakt? Oder liege ich da falsch? |
Wie mann's nimmt. Wenn die andere Anwendung sich im Sekundentakt nach oben "boxt", reagiert deine Lösung darauf ebenfalls im "Sekundentakt".
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Atreyu 
      
Beiträge: 137
Delphi 7 Enterprise
|
Verfasst: Di 27.11.07 19:44
Also:
Man kann das always on top deaktivieren. Ist aber empfehlenswert. Ausserdem nimmt mein Programm nur sehr wenig Platz auf der Screen ein.
Muss aber sagen, bei anderen Proggys, zB WinAMP klappt das auch nicht wirklich konsequent. Ist also eher ein Problem mit Windows.
|
|
Bernhard Geyer
      
Beiträge: 721
Erhaltene Danke: 3
|
Verfasst: Mi 28.11.07 07:07
Handelt es sich eigentlich um Windows XP mit aktiven Theming? Und welche Delphi-Version? Da mit dem in XP eingeführten Theming ein Aufsatz auf das normale Windows-Handling eingeführt wurde und damit das Windows-Handling sich etwas geändert hat, hatt die VCL-Implementierung sich hier etwas geändert. AFAIK wurde das Problem in Delphi 2006/2007 gelöst indem hier das Handling angepaßt wurde.
|
|
Atreyu 
      
Beiträge: 137
Delphi 7 Enterprise
|
Verfasst: Mi 28.11.07 10:29
Delphi steht unter meinem Nick und ich hab WinXP Prof SP1. (SP2-Verweigerer)
Was meinst du mit aktivem Theming? Ich hab im Moment das normale XP-Theme drin, blau.
|
|
Atreyu 
      
Beiträge: 137
Delphi 7 Enterprise
|
Verfasst: Fr 30.11.07 17:45
Noch ne Frage, kann es sein, dass irgendein Event getriggert wird, wenn man Always on top während der Laufzeit setzt? Irgendwie OnShow oder sowas?
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 30.11.07 17:57
Folgendes passiert, weiß net ob du was damit anfangen kannst:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TCustomForm.SetFormStyle(Value: TFormStyle); var OldStyle: TFormStyle; begin if FFormStyle <> Value then begin if (Value = fsMDIChild) and (Position = poDesigned) then Position := poDefault; if not (csDesigning in ComponentState) then DestroyHandle; OldStyle := FFormStyle; FFormStyle := Value; if ((Value = fsMDIForm) or (OldStyle = fsMDIForm)) and not Ctl3d then Color := NormalColor; if not (csDesigning in ComponentState) then UpdateControlState; if Value = fsMDIChild then Visible := True; end; end; |
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: So 02.12.07 00:43
Atreyu hat folgendes geschrieben: | Delphi steht unter meinem Nick und ich hab WinXP Prof SP1. (SP2-Verweigerer)
|
/sign ^^
ICh hab mehrere Programme die ich zeitweise im Vordergrund halten will, setz mir dazu dann eine CheckBox und
verpasse ihr diesen Code.
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.CBFrontClick(Sender: TObject); begin if CBFront.Checked then Form1.FormStyle := fsStayOnTop else Form1.FormStyle := fsNormal; end; |
hatte bisher damit keine Probleme. Bleibt eigentlich im Vordergrund und wird nur durch Modale Fenster überdeckt.
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|
Atreyu 
      
Beiträge: 137
Delphi 7 Enterprise
|
Verfasst: So 02.12.07 15:40
Das is nicht das Problem. Auch wenn fsStayOnTop immer noch aktiviert ist, kann es sein, dass das Prog hinter Fenstern verschwindet. Könnte aber auch an anderen Faktoren liegen. (zB Windows)
|
|