]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
type safe proxy typedefs
[wxWidgets.git] / src / msw / toplevel.cpp
index 47bc5ff54a1bcf528ed52689350a1c64327f96ee..3c80ac8f540b58d8b9fb3a1aeefd7baaefeb3cc4 100644 (file)
@@ -41,8 +41,6 @@
 #include "wx/module.h"
 
 #include "wx/msw/private.h"
-#include "wx/msw/missing.h"
-
 #if defined(__WXWINCE__)
   #include <ole2.h>
   #include <shellapi.h>
@@ -52,6 +50,7 @@
 #include "wx/msw/wince/missing.h"
 #endif
 
+#include "wx/msw/missing.h"
 #include "wx/msw/winundef.h"
 
 // This can't be undefed in winundef.h or
@@ -140,9 +139,6 @@ void wxTopLevelWindowMSW::Init()
     m_iconized =
     m_maximizeOnShow = FALSE;
 
-    // unlike (almost?) all other windows, frames are created hidden
-    m_isShown = FALSE;
-
     // Data to save/restore when calling ShowFullScreen
     m_fsStyle = 0;
     m_fsOldWindowStyle = 0;
@@ -393,25 +389,7 @@ bool wxTopLevelWindowMSW::CreateDialog(const void *dlgTemplate,
 
     // move the dialog to its initial position without forcing repainting
     int x, y, w, h;
-    if ( !MSWGetCreateWindowCoords(pos, size, x, y, w, h) )
-    {
-        x =
-        w = (int)CW_USEDEFAULT;
-    }
-
-    // we can't use CW_USEDEFAULT here as we're not calling CreateWindow()
-    // and passing CW_USEDEFAULT to MoveWindow() results in resizing the
-    // window to (0, 0) size which breaks quite a lot of things, e.g. the
-    // sizer calculation in wxSizer::Fit()
-    if ( w == (int)CW_USEDEFAULT )
-    {
-        // the exact number doesn't matter, the dialog will be resized
-        // again soon anyhow but it should be big enough to allow
-        // calculation relying on "totalSize - clientSize > 0" work, i.e.
-        // at least greater than the title bar height
-        w =
-        h = 100;
-    }
+    (void)MSWGetCreateWindowCoords(pos, size, x, y, w, h);
 
     if ( x == (int)CW_USEDEFAULT )
     {
@@ -457,9 +435,12 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
                                  const wxString& name)
 {
     bool ret wxDUMMY_INITIALIZE(false);
-
+    int w, h;
+    
     // init our fields
     Init();
+    w = WidthDefault(size.x);
+    h = HeightDefault(size.y);
 
     m_windowStyle = style;
 
@@ -502,12 +483,12 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
         if ( style & (wxRESIZE_BORDER | wxCAPTION) )
             dlgTemplate->style |= DS_MODALFRAME;
 
-        ret = CreateDialog(dlgTemplate, title, pos, size);
+        ret = CreateDialog(dlgTemplate, title, pos, wxSize(w,h));
         free(dlgTemplate);
     }
     else // !dialog
     {
-        ret = CreateFrame(title, pos, size);
+        ret = CreateFrame(title, pos, wxSize(w,h));
     }
 
     if ( ret && !(GetWindowStyleFlag() & wxCLOSE_BOX) )