X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ec5921d9b162371095271490169ca5149786aea..a29b55cdf6c1f8547c615a5e928813ba78566e9a:/src/msw/listbox.cpp diff --git a/src/msw/listbox.cpp b/src/msw/listbox.cpp index 61634811fa..c1cd5c2e0d 100644 --- a/src/msw/listbox.cpp +++ b/src/msw/listbox.cpp @@ -91,12 +91,12 @@ wxEND_FLAGS( wxListBoxStyle ) IMPLEMENT_DYNAMIC_CLASS_XTI(wxListBox, wxControl,"wx/listbox.h") wxBEGIN_PROPERTIES_TABLE(wxListBox) - wxEVENT_PROPERTY( Select , wxEVT_COMMAND_LISTBOX_SELECTED , wxCommandEvent ) - wxEVENT_PROPERTY( DoubleClick , wxEVT_COMMAND_LISTBOX_DOUBLECLICKED , wxCommandEvent ) + wxEVENT_PROPERTY( Select , wxEVT_COMMAND_LISTBOX_SELECTED , wxCommandEvent ) + wxEVENT_PROPERTY( DoubleClick , wxEVT_COMMAND_LISTBOX_DOUBLECLICKED , wxCommandEvent ) wxPROPERTY( Font , wxFont , SetFont , GetFont , EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group")) wxPROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings, 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) - wxPROPERTY( Selection ,int, SetSelection, GetSelection, EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) + wxPROPERTY( Selection ,int, SetSelection, GetSelection, EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) wxPROPERTY_FLAGS( WindowStyle , wxListBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style wxEND_PROPERTIES_TABLE() @@ -110,9 +110,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl) /* TODO PROPERTIES - selection - content - item + selection + content + item */ // ============================================================================ @@ -287,6 +287,8 @@ void wxListBox::Delete(int N) int wxListBox::DoAppend(const wxString& item) { + InvalidateBestSize(); + int index = ListBox_AddString(GetHwnd(), item); m_noItems++; @@ -522,6 +524,8 @@ wxListBox::DoInsertItems(const wxArrayString& items, int pos) wxCHECK_RET( pos >= 0 && pos <= m_noItems, wxT("invalid index in wxListBox::InsertItems") ); + InvalidateBestSize(); + int nItems = items.GetCount(); for ( int i = 0; i < nItems; i++ ) { @@ -537,6 +541,8 @@ wxListBox::DoInsertItems(const wxArrayString& items, int pos) ListBox_SetItemData(GetHwnd(), idx, pNewItem); } +#else + wxUnusedVar(idx); #endif // wxUSE_OWNER_DRAWN } @@ -680,7 +686,7 @@ wxSize wxListBox::DoGetBestSize() const // the listbox should be slightly larger than the widest string int cx, cy; - wxGetCharSize(GetHWND(), &cx, &cy, &GetFont()); + wxGetCharSize(GetHWND(), &cx, &cy, GetFont()); wListbox += 3*cx; @@ -767,7 +773,7 @@ bool wxListBox::MSWOnMeasure(WXMEASUREITEMSTRUCT *item) wxDC dc; dc.SetHDC((WXHDC)hdc); - dc.SetFont(wxSystemSettings::GetFont(wxSYS_ANSI_VAR_FONT)); + dc.SetFont(GetFont()); pStruct->itemHeight = dc.GetCharHeight() + 2*OWNER_DRAWN_LISTBOX_EXTRA_SPACE; pStruct->itemWidth = dc.GetCharWidth();