diff --git a/docs/changes.txt b/docs/changes.txt index 6d07812a6c..0a44f4cced 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -121,6 +121,7 @@ wxMSW: - Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3 - Support right-aligned/centered owner drawn items in wxListCtrl (troelsk) - Compilation fixed with WXWIN_COMPATIBILITY_2_6==0 +- Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko) wxGTK: diff --git a/src/msw/combo.cpp b/src/msw/combo.cpp index 7c69f60c86..954e54e95b 100644 --- a/src/msw/combo.cpp +++ b/src/msw/combo.cpp @@ -164,13 +164,20 @@ void wxComboCtrl::OnThemeChange() wxUxThemeEngine* theme = wxUxThemeEngine::GetIfActive(); if ( theme ) { - wxUxThemeHandle hTheme(this, L"COMBOBOX"); + wxUxThemeHandle hTheme(this, L"EDIT"); COLORREF col; - theme->GetThemeColor(hTheme,EP_EDITTEXT,ETS_NORMAL,TMT_FILLCOLOR,&col); - SetBackgroundColour(wxRGBToColour(col)); - theme->GetThemeColor(hTheme,EP_EDITTEXT,ETS_NORMAL,TMT_TEXTCOLOR,&col); - SetForegroundColour(wxRGBToColour(col)); + HRESULT hr = theme->GetThemeColor(hTheme,EP_EDITTEXT,ETS_NORMAL,TMT_FILLCOLOR,&col); + if ( FAILED(hr) ) + wxLogApiError(_T("GetThemeColor(EDIT, EP_EDITTEXT, ETS_NORMAL, TMT_FILLCOLOR)"), hr); + else + SetBackgroundColour(wxRGBToColour(col)); + + hr = theme->GetThemeColor(hTheme,EP_EDITTEXT,ETS_NORMAL,TMT_TEXTCOLOR,&col); + if ( FAILED(hr) ) + wxLogApiError(_T("GetThemeColor(EDIT, EP_EDITTEXT, ETS_NORMAL, TMT_TEXTCOLOR)"), hr); + else + SetForegroundColour(wxRGBToColour(col)); } else {