]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
implemented IsFixedWidth() correctly for MSW
[wxWidgets.git] / src / msw / toplevel.cpp
index 9aacc560173886664a59185f5c239b9ad794a003..6530437b9454f039d50e61e4c85b1d7374d2e7b6 100644 (file)
@@ -104,36 +104,43 @@ void wxTopLevelWindowMSW::Init()
 long wxTopLevelWindowMSW::MSWGetCreateWindowFlags(long *exflags) const
 {
     long style = GetWindowStyle();
-    long msflags = 0;
 
     // first select the kind of window being created
+    //
+    // note that if we don't set WS_POPUP, Windows assumes WS_OVERLAPPED and
+    // creates a window with both caption and border, hence we also test it
+    // below in some other cases
+    long msflags;
+    if ( style & wxFRAME_TOOL_WINDOW )
+        msflags = WS_POPUP;
+    else
+        msflags = WS_OVERLAPPED;
+
+    // border and caption styles
+    if ( style & wxRESIZE_BORDER )
+        msflags |= WS_THICKFRAME;
+    else if ( !(style & wxBORDER_NONE) )
+        msflags |= WS_BORDER;
+    else
+        msflags |= WS_POPUP;
+
     if ( style & wxCAPTION )
-    {
-        if ( style & wxFRAME_TOOL_WINDOW )
-            msflags |= WS_POPUPWINDOW;
-        else
-            msflags |= WS_OVERLAPPED;
-    }
+        msflags |= WS_CAPTION;
     else
-    {
         msflags |= WS_POPUP;
-    }
 
     // next translate the individual flags
     if ( style & wxMINIMIZE_BOX )
         msflags |= WS_MINIMIZEBOX;
     if ( style & wxMAXIMIZE_BOX )
         msflags |= WS_MAXIMIZEBOX;
-    if ( style & wxTHICK_FRAME )
-        msflags |= WS_THICKFRAME;
     if ( style & wxSYSTEM_MENU )
         msflags |= WS_SYSMENU;
     if ( style & wxMINIMIZE )
         msflags |= WS_MINIMIZE;
     if ( style & wxMAXIMIZE )
         msflags |= WS_MAXIMIZE;
-    if ( style & wxCAPTION )
-        msflags |= WS_CAPTION;
+
     if ( style & wxCLIP_CHILDREN )
         msflags |= WS_CLIPCHILDREN;
 
@@ -170,8 +177,8 @@ long wxTopLevelWindowMSW::MSWGetCreateWindowFlags(long *exflags) const
             *exflags |= WS_EX_TOPMOST;
 
 #ifdef __WIN32__
-      if ( m_exStyle & wxFRAME_EX_CONTEXTHELP )
-        *exflags |= WS_EX_CONTEXTHELP;
+        if ( m_exStyle & wxFRAME_EX_CONTEXTHELP )
+            *exflags |= WS_EX_CONTEXTHELP;
 #endif // __WIN32__
     }
 
@@ -386,33 +393,6 @@ wxTopLevelWindowMSW::~wxTopLevelWindowMSW()
     }
 }
 
-// ----------------------------------------------------------------------------
-// wxTopLevelWindowMSW client size
-// ----------------------------------------------------------------------------
-
-void wxTopLevelWindowMSW::DoSetClientSize(int width, int height)
-{
-    // call GetClientAreaOrigin() to take the toolbar into account
-    wxPoint pt = GetClientAreaOrigin();
-    width += pt.x;
-    height += pt.y;
-
-    wxWindow::DoSetClientSize(width, height);
-}
-
-void wxTopLevelWindowMSW::DoGetClientSize(int *x, int *y) const
-{
-    wxWindow::DoGetClientSize(x, y);
-
-    wxPoint pt = GetClientAreaOrigin();
-
-    if ( x )
-        *x -= pt.x;
-
-    if ( y )
-        *y -= pt.y;
-}
-
 // ----------------------------------------------------------------------------
 // wxTopLevelWindowMSW showing
 // ----------------------------------------------------------------------------