![]() |
Form immer im vordergrund - Wirklich immer
Hallo,
ich habe mir ein kleines Programm geschrieben, was mir eine kleine Layerads statisik auf dem Bildschirm anzeigt. Formstyle auf fsstayontop (ganz normal halt) Bloß dann beim Booten kommt dann mein Programm zuerst hoch und danach alle anderen. Da gibts doch das böse MSN und setzt sich einfach davor. (Machen andere Programme ebenso) Nun zur eigentlichen Frage... wie bekommt man es hin, dass das Form wirklich immer im Vordergrund ist. z.B. auch wenn ein Vollbildspiel geöffnet wird usw.... Hab evtl. gedacht man nehme einen Timer und haut ein show oder bringtofront rein... ist aber ziemlich prozesslastig und stört andere Anwendungen. Hat da jemand eine Idee, wie das Programm immer im Vordergrund bleibt? MFG Björn |
Re: Form immer im vordergrund - Wirklich immer
wie du schon festgestellt hast gibt es kein "immer oben" weil andere Programme das auch wollen. Wenn du also 2 solche Programme hast flackern diese ständig untereinander weil sich ständig das eine vor das andere setzt.
Bei Vollbild mit DirektX/OpenGl scheiterts dann ständig. Das 3D Spiel wird mit einer anderen Auflösung ausgeführt und solange dieses Programm im Vordergrund ist stellt dein Windows eben auf diese Auflösung um. Wenn du dein Programm jetzt in den Vordergrund bringst wird wieder die Auflösung deines Programmes gefahren, es wechselt also von der Auflösung des 3D Programmes zur Auflösung deines Programmes (die Auflösung deines Programmes ist die Std-Windows-Auflösung) |
Re: Form immer im vordergrund - Wirklich immer
Zitat:
Delphi-Quellcode:
bei mir flackert da garnichts.
SetWindowPos( Handle, <<< eigenes Window-Handle
HWND_TOPMOST, <<<< immer Vorn Left, Top, Width, Height, 0 ) SetWindowPos( Handle, <<< eigenes Window-Handle HWND_NOTOPMOST, <<< wieder normal Left, Top, Width, Height, 0 ) |
AW: Form immer im vordergrund - Wirklich immer
Ich weiß, ist schon etwas älter, aber dennoch :angle2:
Zitat:
Wobei immer das letzt Programm ganz oben angezeigt wird, welches als letztes diesen Style verpaßt bekommen hat. Wollen mehrere Programme ganz nach oben schubst das letzt Programm die Vorgänger erstmal etwas runter ... weswegen die nachher gestarteten Programme eben doch davorkommen. einzige Lösung: man muß den Style bei sich als letztes (neu) setzen. |
AW: Form immer im vordergrund - Wirklich immer
genau damit hab ich mich auch vor ein paar tagen beschäftigt, bei mir hat folgendes geholfen
im OnShow der Fhab ich eingefügt:
Delphi-Quellcode:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE + SWP_NOMOVE + SWP_NOSIZE);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz