-
- 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 ((m_hFrame = ::WinCreateWindow( hParent // Frame is parent
- ,WC_FRAME // standard frame class
- ,(PSZ)zTitle // Window title
- ,0 // No styles
- ,0, 0, 0, 0 // Window position
- ,NULLHANDLE // Owner
- ,HWND_TOP // Sibling
- ,(ULONG)nId // ID
- ,(PVOID)&vFrameCtlData // Creation data
- ,NULL // Window Pres Params
- )) == 0L)
- {
- return FALSE;
- }
-
- 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
- ))
- 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));