Use explicit menu item background if it's given under MSW.
An explicit item background colour specified in user code should override the default theme background. Closes #12652. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -465,6 +465,8 @@ MyFrame::MyFrame() | |||||||
| #if USE_LOG_WINDOW | #if USE_LOG_WINDOW | ||||||
|     wxMenuItem *item = new wxMenuItem(fileMenu, Menu_File_ClearLog, |     wxMenuItem *item = new wxMenuItem(fileMenu, Menu_File_ClearLog, | ||||||
|                                       wxT("Clear &log\tCtrl-L")); |                                       wxT("Clear &log\tCtrl-L")); | ||||||
|  |     item->SetBackgroundColour(*wxBLACK); | ||||||
|  |     item->SetTextColour(*wxRED); | ||||||
| #if wxUSE_OWNER_DRAWN || defined(__WXGTK__) | #if wxUSE_OWNER_DRAWN || defined(__WXGTK__) | ||||||
|     item->SetBitmap(copy_xpm); |     item->SetBitmap(copy_xpm); | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -959,7 +959,11 @@ bool wxMenuItem::OnDrawItem(wxDC& dc, const wxRect& rc, | |||||||
|             rcText.top--; |             rcText.top--; | ||||||
|  |  | ||||||
| #if wxUSE_UXTHEME | #if wxUSE_UXTHEME | ||||||
|         wxUxThemeEngine* theme = MenuDrawData::GetUxThemeEngine(); |         // If a custom background colour is explicitly specified, we should use | ||||||
|  |         // it instead of the default theme background. | ||||||
|  |         wxUxThemeEngine* const theme = GetBackgroundColour().IsOk() | ||||||
|  |                                         ? NULL | ||||||
|  |                                         : MenuDrawData::GetUxThemeEngine(); | ||||||
|         if ( theme ) |         if ( theme ) | ||||||
|         { |         { | ||||||
|             POPUPITEMSTATES state; |             POPUPITEMSTATES state; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user