Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - fsStayOnTop


Spaceguide - So 01.10.06 11:25
Titel: fsStayOnTop
Die Hilfe sagt:

"This form remains on top of the desktop and of other forms in the project, except any others that also have FormStyle set to fsStayOnTop"

Wie muss ich das jetzt verstehen? Soll das Fenster über allen anderen Applikationen bleiben oder nur über allen Fenstern der eigenen Anwendung?

Meine Beobachtung bei einem Unterfenster mit FormStyle = fsStayOnTop:

Das Fenster ist über der Anwendung (Mainform=fsMDIForm). Wechsle ich zu einer anderen Anwendung, ist das Unterfenster erstmal versteckt (so soll es sein), d.h. die andere Anwendung ist darüber. Erzeuge ich jetzt aber z.B. ein MDI-Child, so kommt das Unterfenster wieder in den Vordergrund und ist nicht mehr wegzukriegen. Bug oder Feature?


elundril - So 01.10.06 11:58

wenn dein Childfenster auf fsStayOnTop ist dann bleibt es immer im Vordergrund egal welches Fenster gerade aktiv ist (sogar über anderen Programmfenstern). Genauso ist es wenn du andere Fenster (nicht Child) als fsStayOnTop definierst. Diese Fenster bleiben immer im Vordergrund!

Achtung: Es kann nur ein Fenster das Attribut fsStayOnTop haben. Wie das dann entschieden wird welches StayOnTop hat wenn du's bei mehreren Fenstern setzt weiß ich selbst nicht!

ich hoffe ich hab deine Frage richtig verstanden und gut beantworten können!

mfg el


Spaceguide - So 01.10.06 12:05

Das beisst sich halt mit meinen Beobachtungen.

1) Ich erzeuge ein Fenster mit fsStayOnTop
2) Ich wechsle zu einer anderen Anwendung => Fenster ist nicht mehr sichtbar
3) Ich erzeuge in meiner Anwendung ein MDIChild => Fenster auf einmal wieder sichtbar und bleibt nun auch vorne

Das finde ich komisch


elundril - So 01.10.06 12:08

welches Fenster hat den fsStayOnTop?? das Parent?


Spaceguide - So 01.10.06 12:09

Nein, das neue


elundril - So 01.10.06 12:10

also das MDIchild?


Spaceguide - So 01.10.06 12:12

Nein, ich kann doch kein MDI-Child, welches ja FormStyle = fsMDIChild haben muss, auf fsStayOnTop setzen. Ein ganz normales Fenster, welches über dem Mainform sichtbar sein soll.


elundril - So 01.10.06 12:15

tja dann würd ich sagen is es ein bug! sry das ich dir nicht weiterhelfen konnte!

mfg el