PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auslesen ob Fenster Always on Top ist?


PatkIllA
2006-09-05, 00:34:51
Man kann ja mit SetWindowPos (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/setwindowpos.asp) ein Fenster Immer im Vordergrund erscheinen lassen.
Wie aber lese ich aus, ob ein Fenster so eine Eigenschaft hat und lösche gegebenenfalls die Eigenschaft?

Neomi
2006-09-05, 13:31:46
Ungetestet:

dwExStyle = (DWORD) GetWindowLong (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windowclasses/windowclassreference/windowclassfunctions/getwindowlong.asp) (hWnd, GWL_EXSTYLE);

if ((dwExStyle & WS_EX_TOPMOST) != 0)
SetWindowLong (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windowclasses/windowclassreference/windowclassfunctions/setwindowlong.asp) (hWnd, GWL_EXSTYLE, dwExStyle & ~WS_EX_TOPMOST);

PatkIllA
2006-09-05, 20:29:21
Im Prinzip scheint es das zu sein, aber wenn ich den neuen Wert setze und dann wieder auslese steht immer noch der alte drin. Auslesen geht jedenfalls schon mal.
Der Rückgabewert ist auch korrekt, so dass kein Fehler aufgetreten sein sollte.

edit:
Wenn ich SetWindowPos benutze, dann geht es.

bulla
2006-09-06, 03:22:18
Frage: Ist das auch mit Java möglich?

Ich hatte letztens nämlich ein JFrame x in einem JFrame y aufgerufen. x war somit im Vordergrund. Wenn man aber dann ein anderes Fenster (z.B. einen Browser) maximiert und wieder minimiert, war x nun im Hintergrund, was etwas blöd ist, wenn y den ganzen Bildschirm oder so einnimmt.

In der API hab ich mich totgesucht, aber nichts gescheites gefunden. Anyone?