Не совсем понял, на чем ты пишешь.
Попробовал у себя прогнать аналогичный по смыслу код, но вообще без перерисовки — все ок.
Вот:
var hwndclient:hwnd;
SCreate:CREATESTRUCT;
begin
SCreate.lpszClass:= 'ChildWindowClass';
SCreate.lpszName:= 0;
SCreate.hInstance:= HInstance;
SCreate.x:= 0;
SCreate.y:= 0;
SCreate.cx:=250;
SCreate.cy:=250;
SCreate.style:=0;
SCreate.lpCreateParams:= 0;
SCreate.hMenu:=0;
SCreate.hwndParent:=self.Handle;
hwndClient:= CreateWindowEx(0,'MDICLIENT', 0,
WS_CHILD or WS_VISIBLE, 0, 0, 25, 25,
self.Handle, 0, HInstance, @SCreate);
ShowWindow(hwndclient,WS_VISIBLE);
Ну и типа окно показывает. Конечно, реально придется или субклассировать окно через SetWindowLong,
или регистрить оконный класс. Чтобы ловить перерисовку.
А так — может, забыли ShowWindow вызвать?
Slicer