versuch mal nach den SetWindowLong Zeilen folgende Zeile:
SetWindowPos(
handle, 0, 0, 0, 0, 0, SWP_FRAMECHANGED or SWP_NOMOVE or SWP_NOSIZE or SWP_NOZORDER or SWP_NOCOPYBITS);
ich brauch das immer, wenn ich den Style eines Controls verändere, um dieses zu "refreshen". vielleicht muss man dies bei GWL_HWNDPARENT auch machen.
Gruß Frank