Entwickler-Ecke

Windows API - Anderes Programm im Fullscreen -> StayOnTop deaktivieren?


fsStayOnTop - Sa 25.10.08 14:54
Titel: Anderes Programm im Fullscreen -> StayOnTop deaktivieren?
Auf ein Neues:

Ich habe eine StayOnTop-Form (AppBar), auf der sich andauernd etwas ändert (label.Caption usw.)
Wenn ich jetzt ein Spiel spiele (Fullscreen), dann drängt sich mein Programm immer wieder in den Vordergrund, das will ich unterbinden (Es soll sich wie die Taskleiste verhalten: normalerweise oben, bei Fullscreen weg)...

Die einzige mir erklärliche Lösung wäre, StayOnTop zu deaktivieren, solange das Spiel im Fullscreen-Modus ist.

Ich habe schon das hier gefunden:
http://www.delphiforum.de/viewtopic.php?t=55735

Allerdings fehlt mir das Wissen, wie ich das jetzt umsetzen kann...


MSCH - So 26.10.08 18:54

ändere doch per Code das Property deines Formulars von fsStayOnTop nach fsNormal.
Das sollte den gewünschten Effekt haben.

:-)Msch


fsStayOnTop - So 26.10.08 20:09

Das habe ich in der Tat schon probiert, nur ist es dann im "normalen" Zustand möglich, dass ein anderes Fenster sich darüber legt - das soll ja eben nicht sein... :wink:

StayOnTop


fsStayOnTop - Mo 27.10.08 15:21

Ich habe inzwischen eine unsaubere Lösung gefunden:

Da Fullscreen-Programme häufig die Auflösung ändern, frage ich per Timer ab, ob die Auflösung geändert wurde und reagiere entsprechend....

MfG
StayOnTop


turboPASCAL - Di 28.10.08 23:15

Na toll, das machen 50 Andere auch so und schon kann ich Windows im Flackermodus betrachten.

Ändere dein Programm so das du es in eine "Spielemodus" schalten kannst wie schon erwähnt.
Der Rest ist IMHO Müll.


fsStayOnTop - Do 30.10.08 00:32

Das ist ein Missverständnis :shock:

Ich ändere sowieso von fsStayOnTop nach fsNormal

Mein Problem liegt daran, zu erkennen, WANN das so sein soll :roll: