const wxString& name)
{
SetName(name);
+#if wxUSE_VALIDATORS
SetValidator(validator);
+#endif // wxUSE_VALIDATORS
if (parent) parent->AddChild(this);
// SetBackgroundColour(parent->GetBackgroundColour()) ;
int width = size.x;
int height = size.y;
- long msStyle = WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
- CBS_NOINTEGRALHEIGHT;
+ long msStyle = WS_CHILD | WS_TABSTOP | WS_VISIBLE |
+ WS_VSCROLL | WS_HSCROLL | CBS_AUTOHSCROLL | CBS_NOINTEGRALHEIGHT;
if (m_windowStyle & wxCB_READONLY)
msStyle |= CBS_DROPDOWNLIST;
int cx, cy;
wxGetCharSize(GetHWND(), &cx, &cy, &GetFont());
+ // what should the height of the drop down list be? we choose 10 items by
+ // default and also 10 items max (if we always use n, the list will never
+ // have vertical scrollbar)
int n = GetCount();
if ( !n )
n = 10;
+ else if ( n > 10 )
+ n = 10;
height = n * EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy);