]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
allow SQLDriverConnect() to open the dialog asking the user for additional info by...
[wxWidgets.git] / src / msw / textctrl.cpp
index 3172c515583990f4c1afa406645ec444cf7505e7..bcabaabb7d0cb12d81419a78967082e49a36fd9e 100644 (file)
@@ -394,6 +394,17 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
             // we also need EN_MSGFILTER for richedit 1.0 for the reasons
             // explained in its handler
            mask |= ENM_MOUSEEVENTS;
+
+           // we also need to force the appearance of the vertical scrollbar
+           // initially as otherwise the control doesn't refresh correctly
+           // after resize: but once the vertical scrollbar had been shown
+           // (even if it's subsequently hidden) it does
+           //
+           // this is clearly a bug and for now it has been only noticed under
+           // Windows XP, so if we're sure it works correctly under other
+           // systems we could do this only for XP
+           SetSize(-1, 1); // 1 is small enough to force vert scrollbar
+           SetSize(size);
         }
         else if ( m_windowStyle & wxTE_AUTO_URL )
         {
@@ -1875,12 +1886,12 @@ bool wxTextCtrl::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
     return true;
 }
 
-WXHBRUSH wxTextCtrl::MSWControlColor(WXHDC hDC)
+WXHBRUSH wxTextCtrl::MSWControlColor(WXHDC hDC, WXHWND hWnd)
 {
     if ( !IsEnabled() && !HasFlag(wxTE_MULTILINE) )
         return MSWControlColorDisabled(hDC);
 
-    return wxTextCtrlBase::MSWControlColorSolid(hDC);
+    return wxTextCtrlBase::MSWControlColor(hDC, hWnd);
 }
 
 bool wxTextCtrl::AdjustSpaceLimit()
@@ -1949,7 +1960,7 @@ wxSize wxTextCtrl::DoGetBestSize() const
     int hText = cy;
     if ( m_windowStyle & wxTE_MULTILINE )
     {
-        hText *= wxMax(GetNumberOfLines(), 5);
+        hText *= wxMax(wxMin(GetNumberOfLines(), 10), 2); 
     }
     //else: for single line control everything is ok