]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
type safe proxy typedefs
[wxWidgets.git] / src / msw / toplevel.cpp
index 7246affec86b384874db50edad8c57ba91d14a25..3c80ac8f540b58d8b9fb3a1aeefd7baaefeb3cc4 100644 (file)
@@ -139,9 +139,6 @@ void wxTopLevelWindowMSW::Init()
     m_iconized =
     m_maximizeOnShow = FALSE;
 
     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;
     // Data to save/restore when calling ShowFullScreen
     m_fsStyle = 0;
     m_fsOldWindowStyle = 0;
@@ -394,6 +391,15 @@ bool wxTopLevelWindowMSW::CreateDialog(const void *dlgTemplate,
     int x, y, w, h;
     (void)MSWGetCreateWindowCoords(pos, size, x, y, w, h);
 
     int x, y, w, h;
     (void)MSWGetCreateWindowCoords(pos, size, x, y, w, h);
 
+    if ( x == (int)CW_USEDEFAULT )
+    {
+        // centre it on the screen - what else can we do?
+        wxSize sizeDpy = wxGetDisplaySize();
+
+        x = (sizeDpy.x - w) / 2;
+        y = (sizeDpy.y - h) / 2;
+    }
+
     if ( !::MoveWindow(GetHwnd(), x, y, w, h, FALSE) )
     {
         wxLogLastError(wxT("MoveWindow"));
     if ( !::MoveWindow(GetHwnd(), x, y, w, h, FALSE) )
     {
         wxLogLastError(wxT("MoveWindow"));