From b4ff336e1d719b82ed5e583e470c5d045c21b374 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 23 May 2007 23:58:09 +0000 Subject: [PATCH] fix wxODCB_PAINTING_SELECTED not being always set (patch 1719364) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/odcombo.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/generic/odcombo.cpp b/src/generic/odcombo.cpp index 34940a6427..3e62b8349d 100644 --- a/src/generic/odcombo.cpp +++ b/src/generic/odcombo.cpp @@ -116,7 +116,7 @@ void wxVListBoxComboPopup::PaintComboControl( wxDC& dc, const wxRect& rect ) if ( m_value >= 0 ) { - OnDrawItem(dc,rect,m_value,wxODCB_PAINTING_CONTROL); + OnDrawItem(dc,rect,m_value,flags); return; } } @@ -129,13 +129,20 @@ void wxVListBoxComboPopup::OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) co // TODO: Maybe this code could be moved to wxVListBox::OnPaint? dc.SetFont(m_useFont); + int flags = 0; + // Set correct text colour for selected items if ( wxVListBox::GetSelection() == (int) n ) + { dc.SetTextForeground( wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT) ); + flags |= wxODCB_PAINTING_SELECTED; + } else + { dc.SetTextForeground( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT) ); + } - OnDrawItem(dc,rect,(int)n,0); + OnDrawItem(dc,rect,(int)n,flags); } wxCoord wxVListBoxComboPopup::OnMeasureItem(size_t n) const -- 2.49.0