X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41ce9ae1b02dbfbe467978be871506246d7ab48e..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/msw/bmpcbox.cpp diff --git a/src/msw/bmpcbox.cpp b/src/msw/bmpcbox.cpp index 852fb0485a..c2928c9657 100644 --- a/src/msw/bmpcbox.cpp +++ b/src/msw/bmpcbox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/msw/bmpcboxg.cpp +// Name: src/msw/bmpcbox.cpp // Purpose: wxBitmapComboBox // Author: Jaakko Salli // Created: 2008-04-06 @@ -131,6 +131,7 @@ void wxBitmapComboBox::RecreateControl() wxString value = GetValue(); wxPoint pos = GetPosition(); wxSize size = GetSize(); + size.y = GetBestSize().y; wxArrayString strings = GetStrings(); wxComboBox::DoClear(); @@ -139,7 +140,7 @@ void wxBitmapComboBox::RecreateControl() DissociateHandle(); ::DestroyWindow(hwnd); - if ( !MSWCreateControl(wxT("COMBOBOX"), value, pos, size) ) + if ( !MSWCreateControl(wxT("COMBOBOX"), wxEmptyString, pos, size) ) return; // initialize the controls contents @@ -176,6 +177,12 @@ void wxBitmapComboBox::RecreateControl() { SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); } + + ::SendMessage(GetHwnd(), CB_SETITEMHEIGHT, 0, MeasureItem(0)); + + // Revert the old string value + if ( !HasFlag(wxCB_READONLY) ) + ChangeValue(value); } wxBitmapComboBox::~wxBitmapComboBox() @@ -308,7 +315,7 @@ bool wxBitmapComboBox::OnAddBitmap(const wxBitmap& bitmap) return true; } - + return false; } @@ -365,7 +372,7 @@ bool wxBitmapComboBox::MSWOnDraw(WXDRAWITEMSTRUCT *item) if ( pos == -1 ) return FALSE; - int flags = 0; + int flags = 0; if ( lpDrawItem->itemState & ODS_COMBOBOXEDIT ) flags |= wxODCB_PAINTING_CONTROL; if ( lpDrawItem->itemState & ODS_SELECTED )