]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/control.cpp
added DoSetNativeFontInfo() to avoid virtual function hiding
[wxWidgets.git] / src / msw / control.cpp
index 930d7542ce8ff106fbfb3ad4a5afffed908ee7f7..3a3b57b99c8a01aad043498d52c5a08bd159eac0 100644 (file)
@@ -78,11 +78,10 @@ bool wxControl::Create(wxWindow *parent,
 bool wxControl::MSWCreateControl(const wxChar *classname,
                                  const wxString& label,
                                  const wxPoint& pos,
-                                 const wxSize& size,
-                                 long style)
+                                 const wxSize& size)
 {
     WXDWORD exstyle;
-    WXDWORD msStyle = MSWGetStyle(style, &exstyle);
+    WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), &exstyle);
 
     return MSWCreateControl(classname, msStyle, pos, size, label, exstyle);
 }
@@ -106,9 +105,14 @@ bool wxControl::MSWCreateControl(const wxChar *classname,
         exstyle = Determine3DEffects(WS_EX_CLIENTEDGE, &want3D);
     }
 
-    // all controls should have these styles (wxWindows creates all controls
-    // visible by default)
-    style |= WS_CHILD | WS_VISIBLE;
+    // all controls should have this style
+    style |= WS_CHILD;
+
+    // create the control visible if it's currently shown for wxWindows
+    if ( m_isShown )
+    {
+        style |= WS_VISIBLE;
+    }
 
     int x = pos.x == -1 ? 0 : pos.x,
         y = pos.y == -1 ? 0 : pos.y,
@@ -151,7 +155,7 @@ bool wxControl::MSWCreateControl(const wxChar *classname,
     InheritAttributes();
 
     // set the size now if no initial size specified
-    if ( w == 0 || h == 0 )
+    if ( w <= 0 || h <= 0 )
     {
         SetBestSize(size);
     }