]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/control.cpp
removed tab character
[wxWidgets.git] / src / msw / control.cpp
index efe188ffbab931fb57c5fa38a6ee1b07d02252f8..ef6dfe5b9850f356ec63fff425351c22c03429fa 100644 (file)
@@ -212,18 +212,29 @@ wxSize wxControl::DoGetBestSize() const
 // wxChoice and others.
 wxSize wxControl::GetBestSpinerSize(const bool is_vertical) const
 {
+    // take size according to layout
+    wxSize bestSize(
+#if defined(__SMARTPHONE__) && defined(__WXWINCE__)
+                    0,GetCharHeight()
+#else
+                    GetSystemMetrics(is_vertical ? SM_CXVSCROLL : SM_CXHSCROLL),
+                    GetSystemMetrics(is_vertical ? SM_CYVSCROLL : SM_CYHSCROLL)
+#endif
+    );
+
+    // correct size as for undocumented MSW variants cases (WinCE and perhaps others)
+    if (bestSize.x==0)
+        bestSize.x = bestSize.y;
+    if (bestSize.y==0)
+        bestSize.y = bestSize.x;
+
+    // double size according to layout
     if (is_vertical)
-    {
-        // vertical control
-        return wxSize(GetSystemMetrics(SM_CXVSCROLL),
-                      2*GetSystemMetrics(SM_CYVSCROLL));
-    }
+        bestSize.y *= 2;
     else
-    {
-        // horizontal control
-        return wxSize(2*GetSystemMetrics(SM_CXHSCROLL),
-                      GetSystemMetrics(SM_CYHSCROLL));
-    }
+        bestSize.x *= 2;
+
+    return bestSize;
 }
 
 /* static */ wxVisualAttributes