- if (ulStyle & wxTINY_CAPTION_VERT)
- ulCreateFlags |= FCF_TASKLIST;
- if (ulStyle & wxTINY_CAPTION_HORIZ)
- ulCreateFlags |= FCF_TASKLIST;
-
- if ((ulStyle & wxTHICK_FRAME) == 0)
- ulCreateFlags |= FCF_BORDER;
- if (ulStyle & wxFRAME_TOOL_WINDOW)
- ulExtraFlags = kFrameToolWindow;
-
- if (ulStyle & wxSTAY_ON_TOP)
- ulCreateFlags |= FCF_SYSMODAL;
- }
- if ((ulStyle & wxMINIMIZE) || (ulStyle & wxICONIZE))
- ulStyleFlags |= WS_MINIMIZED;
- if (ulStyle & wxMAXIMIZE)
- ulStyleFlags |= WS_MAXIMIZED;
-
- //
- // Clear the visible flag, we always call show
- //
- ulStyleFlags &= (unsigned long)~WS_VISIBLE;
- m_bIconized = FALSE;
-
- //
- // Set the frame control block
- //
- vFrameCtlData.cb = sizeof(vFrameCtlData);
- vFrameCtlData.flCreateFlags = ulCreateFlags;
- vFrameCtlData.hmodResources = 0L;
- vFrameCtlData.idResources = 0;
-
- //
- // Create the frame window
- //
- if (!wxWindow::OS2Create( hParent
- ,WC_FRAME
- ,zTitle
- ,ulStyleFlags
- ,(long)nX
- ,(long)nY
- ,(long)nWidth
- ,(long)nHeight
- ,NULLHANDLE
- ,HWND_TOP
- ,(long)nId
- ,(void*)&vFrameCtlData
- ,NULL
- ))
- {
- return FALSE;
- }
-
- //
- // Create the client window. We must call the API from here rather than
- // the static base class create because we need a separate handle
- //
- if ((hClient = ::WinCreateWindow( GetHwnd() // Frame is parent
- ,zWclass // Custom client class
- ,NULL // Window title
- ,0 // No styles
- ,0, 0, 0, 0 // Window position
- ,NULLHANDLE // Owner
- ,HWND_TOP // Sibling
- ,FID_CLIENT // standard client ID
- ,NULL // Creation data
- ,NULL // Window Pres Params
- )) == 0L)
- {
- return FALSE;
- }
- //
- // Send anything to initialize the frame
- //
- ::WinSendMsg( GetHwnd()
- ,WM_UPDATEFRAME
- ,(MPARAM)FCF_TASKLIST
- ,(MPARAM)0
- );
-
- //
- // Now size everything. If adding a menu the client will need to be resized.
- //
- if (!::WinSetWindowPos( GetHwnd()
- ,HWND_TOP
- ,nX
- ,nY
- ,nWidth
- ,nHeight
- ,SWP_SIZE | SWP_MOVE | SWP_ACTIVATE
- ))
- return FALSE;
-
- WinQueryWindowPos(GetHwnd(), &vSwp);
-
- if (ulCreateFlags & FCF_TITLEBAR)
- {
- hTitlebar = WinWindowFromID(GetHwnd(), FID_TITLEBAR);
- WinQueryWindowPos(hTitlebar, &vSwpTitlebar);
- }
- if (ulCreateFlags & FCF_HORZSCROLL)
- {
- hHScroll = WinWindowFromID(GetHwnd(), FID_HORZSCROLL);
- WinQueryWindowPos(hHScroll, &vSwpHScroll);
- }
- if (ulCreateFlags & FCF_VERTSCROLL)
- {
- hVScroll = WinWindowFromID(GetHwnd(), FID_VERTSCROLL);
- WinQueryWindowPos(hVScroll, &vSwpVScroll);