diff --git a/include/wx/vlbox.h b/include/wx/vlbox.h index f3ce27a421..307d807e21 100644 --- a/include/wx/vlbox.h +++ b/include/wx/vlbox.h @@ -193,6 +193,14 @@ public: { /* do nothing */ } + virtual wxVisualAttributes GetDefaultAttributes() const + { + return GetClassDefaultAttributes(GetWindowVariant()); + } + + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + protected: // the derived class must implement this function to actually draw the item // with the given index on the provided DC diff --git a/src/generic/vlbox.cpp b/src/generic/vlbox.cpp index bb58622e9b..0a08835aa4 100644 --- a/src/generic/vlbox.cpp +++ b/src/generic/vlbox.cpp @@ -75,13 +75,9 @@ bool wxVListBox::Create(wxWindow *parent, if ( style & wxLB_MULTIPLE ) m_selStore = new wxSelectionStore; - SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX)); - SetForegroundColour(parent->GetForegroundColour()); - - // ensure that the font actually changes and is set. - SetFont(wxNullFont); - SetFont(parent->GetFont()); - + // make sure the native widget has the right colour since we do + // transparent drawing by default + SetBackgroundColour(GetBackgroundColour()); m_colBgSel = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT); return true; @@ -612,3 +608,16 @@ void wxVListBox::OnLeftDClick(wxMouseEvent& event) } } + +// ---------------------------------------------------------------------------- +// use the same default attributes as wxListBox +// ---------------------------------------------------------------------------- + +#include "wx/listbox.h" + +//static +wxVisualAttributes +wxVListBox::GetClassDefaultAttributes(wxWindowVariant variant) +{ + return wxListBox::GetClassDefaultAttributes(variant); +}