Fenster nach Style-Wechsel updaten
-
Hi,
ich nochmal.
Wenn ich einem Fenster einen extendet style mit SetWindowLong zuweise, wird das Fenster erst in dem neuen Style angezeigt, wenn ich es verschiebe oä.
Wie kann man das ganze Fenster manuell neu zeichnen lassen?InvalidateRect funktioniert ja nur in der ClientArea und UpdateWindow funzt auch nicht...
Danke!
-
Sollte man den Extended Style nicht beim Erstellen mit CreateWindowEx( ) setzen?
Funktioniert es denn mitShowWindow( SW_HIDE ); ShowWindow( SW_SHOW );nach SetWindowLong( )?
BTW: Möchtest du kompatibel zu 64-Bit Windows sein benutze SetWindowLongPtr( )!
Greetz, Swordfish
-
alexxxx schrieb:
Hi,
ich nochmal.
Wenn ich einem Fenster einen extendet style mit SetWindowLong zuweise, wird das Fenster erst in dem neuen Style angezeigt, wenn ich es verschiebe oä.
Wie kann man das ganze Fenster manuell neu zeichnen lassen?Na da musste SetWindowPos mit entsprechenden Parametern aufrufen...denn:
MSDN zu SetWindowPos(...) schrieb:
If you have changed certain window data using SetWindowLong, you must call SetWindowPos to have the changes take effect. Use the following combination for uFlags: SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED.
-
Okay, thx!!!