+
+ if (!wxWindow::OS2Create( m_hFrame
+ ,wxFrameClassName
+ ,NULL
+ ,0L
+ ,0L
+ ,0L
+ ,0L
+ ,0L
+ ,NULLHANDLE
+ ,HWND_TOP
+ ,(unsigned long)FID_CLIENT
+ ,NULL
+ ,NULL
+ ))
+ {
+ return FALSE;
+ }
+
+ //
+ // Now size everything. If adding a menu the client will need to be resized.
+ //
+ if (!::WinSetWindowPos( m_hFrame
+ ,HWND_TOP
+ ,nX
+ ,nY
+ ,nWidth
+ ,nHeight
+ ,SWP_SIZE | SWP_MOVE | SWP_ACTIVATE | SWP_ZORDER
+ ))
+ return FALSE;
+
+ uCtlCount = SHORT1FROMMP(::WinSendMsg(m_hFrame, WM_FORMATFRAME, (MPARAM)vSwp, (MPARAM)vRect));
+ for (int i = 0; i < uCtlCount; i++)
+ {
+ if (vSwp[i].hwnd == m_hFrame)
+ memcpy(&m_vSwp, &vSwp[i], sizeof(SWP));
+ else if (vSwp[i].hwnd == m_hVScroll)
+ memcpy(&m_vSwpVScroll, &vSwp[i], sizeof(SWP));
+ else if (vSwp[i].hwnd == m_hHScroll)
+ memcpy(&m_vSwpVScroll, &vSwp[i], sizeof(SWP));
+ else if (vSwp[i].hwnd == m_hTitleBar)
+ memcpy(&m_vSwpTitleBar, &vSwp[i], sizeof(SWP));
+ }
+
+ //
+ // Now set the size of the client
+ //
+ WinSetWindowPos( hClient
+ ,HWND_TOP
+ ,SV_CXSIZEBORDER/2
+ ,(SV_CYSIZEBORDER/2) + m_vSwpHScroll.cy/2
+ ,m_vSwp.cx - ((SV_CXSIZEBORDER + 1) + m_vSwpVScroll.cx)
+ ,m_vSwp.cy - ((SV_CYSIZEBORDER + 1) + m_vSwpTitleBar.cy + m_vSwpHScroll.cy/2)
+ ,SWP_SIZE | SWP_MOVE
+ );
+
+ //
+ // Set the client window's background, otherwise it is transparent!
+ //