Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Fenser ON TOP aber nicht über taskbar?

  Alt 18. Aug 2007, 19:47
Hallo,

wenn du ein VCL-Fenster im Vordergrund haben möchtest, dann kannst du einfach seinen FormStyle auf fsStayOnTop setzen. Es passiert dann in etwa das gleiche wie bei deinem Aufruf von SetWindowPos(). Selbst wenn du deine Taskleiste so konfiguriert hast, dass sie immer im Vordergrund sein soll, wird aber dein Fenster davor liegen, sobald du es aktivierst. Ein TopMost-Fenster liegt vor allen NonTopMost-Fenstern, aber wenn es mehrere TopMost-Fenster gibt, dann haben auch diese Fenster eine Z-Ordnung. Microsoft meint dazu im PSDK mehr oder weniger deutlich, dass die Z-Ordnung vom Benutzer gesteuert werden soll. Warum soll dein Programm die Kontrolle übernehmen? Überhaupt nicht anrüchig ist das natürlich, wenn dein Programm selbst ein AppBar ist.

Nochmal im Klartext: Solange dein TopMost-Fenster aktiv ist, wird es vor der Taskleiste gezeichnet. Mein Code-Beispiel hilft da eigentlich überhaupt nicht. Die VCL wertet die Nachricht WM_SETTINGCHANGE selbst aus und die Constraints spielen nur bei nicht maximiertem Fenster eine Rolle.

Freundliche Grüße
  Mit Zitat antworten Zitat