]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
type safe proxy typedefs
[wxWidgets.git] / src / msw / toplevel.cpp
index f20ea0752443e3dacf1a566f0c34b1d56e69cd4b..3c80ac8f540b58d8b9fb3a1aeefd7baaefeb3cc4 100644 (file)
@@ -139,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;
@@ -392,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 )
     {
@@ -456,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;
 
@@ -501,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) )