http://bugs.winehq.org/show_bug.cgi?id=3211
Summary: mdi: creating child during wm_create of frame window Product: Wine Version: 20050628 Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-gui AssignedTo: wine-bugs@winehq.org ReportedBy: T.Bonner@freesurf.ch
Took the Petzold-Code describing MDI, modified it to have a child window opened right at startup (wm_create of the frame window proc has been modified):
[original petzold code: mdidemo.c] [...] switch (iMsg) { case WM_CREATE : // Create the client window
clientcreate.hWindowMenu = hMenuInitWindow ; clientcreate.idFirstChild = IDM_FIRSTCHILD ;
hwndClient = CreateWindow ("MDICLIENT", NULL, WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE, 0, 0, 0, 0, hwnd, (HMENU) 1, hInst, (LPSTR) &clientcreate) ;
/********** new ********/ mdicreate.szClass = szHelloClass ; mdicreate.szTitle = "First Startup Hello Window" ; mdicreate.hOwner = hInst ; mdicreate.x = 10; mdicreate.y = 10; mdicreate.cx = 300; mdicreate.cy = 100; mdicreate.style = 0 ; mdicreate.lParam = 0 ; hwndChild = (HWND) SendMessage (hwndClient, WM_MDICREATE, 0, (LPARAM) (LPMDICREATESTRUCT) &mdicreate); /***********************************************/
return 0 ;
case WM_COMMAND : [...]
On Windows, child window is showing up with its full size, on linux/wine this child window has zero size.