]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/datectrl.cpp
WinCE fixes (in case a WinCE-friendly backend gets written one day)
[wxWidgets.git] / src / msw / datectrl.cpp
index 2660838d00064c8a88c42b80a1de9f93b1e922ed..ec84f53d880bfd17498ccb9761086402216d0ef8 100644 (file)
@@ -100,7 +100,7 @@ wxDatePickerCtrl::Create(wxWindow *parent,
     // supposed to initialize all common controls, in comctl32.dll 4.72 (and
     // presumably earlier versions 4.70 and 4.71, date time picker not being
     // supported in < 4.70 anyhow) it does not do it and we have to initialize
-    // it explicitely
+    // it explicitly
     static bool s_initDone = false; // MT-ok: used from GUI thread only
     if ( !s_initDone )
     {
@@ -111,6 +111,7 @@ wxDatePickerCtrl::Create(wxWindow *parent,
             return false;
         }
 
+#if wxUSE_DYNLIB_CLASS
         INITCOMMONCONTROLSEX icex;
         icex.dwSize = sizeof(icex);
         icex.dwICC = ICC_DATE_CLASSES;
@@ -126,6 +127,7 @@ wxDatePickerCtrl::Create(wxWindow *parent,
         }
 
         s_initDone = true;
+#endif        
     }
 
 
@@ -141,7 +143,7 @@ wxDatePickerCtrl::Create(wxWindow *parent,
     if ( !MSWCreateControl(DATETIMEPICK_CLASS, wxEmptyString, pos, size) )
         return false;
 
-    if ( dt.IsValid() )
+    if ( dt.IsValid() || (style & wxDP_ALLOWNONE) )
         SetValue(dt);
 
     return true;
@@ -180,7 +182,9 @@ wxSize wxDatePickerCtrl::DoGetBestSize() const
 {
     const int y = GetCharHeight();
 
-    return wxSize(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y));
+    wxSize best(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y));
+    CacheBestSize(best);
+    return best;
 }
 
 // ----------------------------------------------------------------------------