PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fenster immer im Vordergrund


ottman
25.05.2002, 15:38
Wie kann ich es realisieren, dass sich das Fenster nachdem es verdeckt wird automatisch in den Vordergrund setzt.
bzw. welche Fenstermessage tritt ein, wenn ein fester verdeckt wird?


xOOn
25.05.2002, 15:48
BringWindowToTop

setzt das window wieder nach vorne, alternativ kann man auch das flag stay on top setzen

ottman
25.05.2002, 17:50
ja die Funktion kenn ich ja

aber ich hab das problem dass ich meinem Programm nicht mitteilen kann, wann es diese Funktion anwenden soll. Dass muss ja bemerken, dass es in den Hintergrund gelangt, sodass ich es wieder in den Vordergrund holen kann.

ich hoffe jetz ist es verständlich

Netter Troll
25.05.2002, 19:38
Hi,

Erstell das Fenster mit CreateWindowEx und benutze als Extended Style (1.Parameter) WS_EX_TOPMOST

Felix Kaiser
25.05.2002, 21:34
Oder bei bestehenden Fenstern:

SetWindowLong(hWnd,GWL_EXSTYLE,GetWindowLong(hWnd,GWL_EXSTYLE) || WS_EX_TOPMOST);

ottman
26.05.2002, 13:47
DANKE!!!

fidor
05.04.2005, 12:18
so nur mal eben hochgewürgt für nachfolgende Generationen.
Will man ein Fenster nach der Erstellung als TOPMOST definieren, so empfiehlt sich die Benutzung von

SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 200,200,SWP_SHOWWINDOW)

da die Z-Order anscheinend gecacht wird. Siehe auch
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windowclasses/windowclassreference/windowclassfunctions/setwindowlong.asp

Certain window data is cached, so changes you make using SetWindowLong will not take effect until you call the SetWindowPos function.


fidor