Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Feststellen, welches Form als letztes mit BringToFront aktiv (https://www.delphipraxis.net/87979-feststellen-welches-form-als-letztes-mit-bringtofront-aktiv.html)

eddy 8. Mär 2007 11:43


Feststellen, welches Form als letztes mit BringToFront aktiv
 
Hallo Leute,

kann man ermitteln, welches Form bzw. welcher Frame als letzte mit BringToFront nach oben gelegt wurde?

Sinngemäß: if Form.IsOnFront then ...


mfg
eddy

Mazel 8. Mär 2007 12:01

Re: Feststellen, welches Form als letztes mit BringToFront a
 
Ob man jetzt ermitteln kann welche Form als letztes mit BringToFront nach vorne grbracht wurde weis ich nicht, aber du kannst mit:
Delphi-Quellcode:
If Form3.Focused then Anweisung;
Wie es bei Frames ist kann ich aber nicht sagen.

Gruß
Mazel

yörsch 8. Mär 2007 12:07

Re: Feststellen, welches Form als letztes mit BringToFront a
 
:gruebel: standard mäsig würde ich sagen NEIN...
Dazu müste sich jemand die Referenz dazu gemerkt haben...
Wenn DU das nicht selbst machen kannst wird´s schwierig.

SirThornberry 8. Mär 2007 12:48

Re: Feststellen, welches Form als letztes mit BringToFront a
 
bei Forms wüsste ich nicht wie das geht. Bei Panels/Frames/Groupboxen etc. kann man anhand der Reihenfolge der Controls in der Controlsliste heraus finden welches ganz oben ist.

TStringlist 8. Mär 2007 19:28

Re: Feststellen, welches Form als letztes mit BringToFront a
 
Ab einer gewissen größeren Anzahl von Formularen könnte für die Beantwortung dieser Frage event. auch Screen.ActiveForm dienlich sein.

himitsu 9. Mär 2007 08:33

Re: Feststellen, welches Form als letztes mit BringToFront a
 
Zitat:

Zitat von SirThornberry
bei Forms wüsste ich nicht wie das geht.

Da gibt es die Z-Position, die kann man (weiß nur grad nichtmehr wie) abfragen.
Und das Fenster mit der größten Zahl ist halt vorne.

Nur wenn ein Fenster auf AlwaysOnTop steht, dann ist es ja immer "ganz" vorn und hat demnach die größte immer Position, obwohl es nicht das Letzte sein muß, welches vorgebracht wurde.

Fazit: es ist nicht möglich sowas im Nachhinein zu ermitteln.

Für eigene Forms könntest du dir beim Aufruf von z.B. BringToFront in einer Variable speichern welche Form gerade nach vorngebracht wurde und diese Variable dann einfach abfragen.

Hawkeye219 9. Mär 2007 08:54

Re: Feststellen, welches Form als letztes mit BringToFront a
 
Hallo,

vielleicht hilft ja schon die Auswertung von Delphi-Referenz durchsuchenScreen.FormCount und Delphi-Referenz durchsuchenScreen.Forms.

Gruß Hawkeye

eddy 10. Mär 2007 14:10

Re: Feststellen, welches Form als letztes mit BringToFront a
 
Hallo Leute,

vielen Dank für die Antworten.

Ich werde wohl dem Vorschlag von yörsch folgen und die Referenz selbst verwalten. Diese Variant erscheint mir mit wenig Aufwand zu realisieren.

mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 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