]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/control.cpp
fixes return values of wxSemaphore::TryWait() and WaitTimeout() to behave as documented
[wxWidgets.git] / src / msw / control.cpp
index 930d7542ce8ff106fbfb3ad4a5afffed908ee7f7..4eb36ecd3a7fa85a9a2dd4e7a10d285ef5922aa8 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
+// Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -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);
     }