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 | ||||
|     wxMenuItem *item = new wxMenuItem(fileMenu, Menu_File_ClearLog, | ||||
|                                       wxT("Clear &log\tCtrl-L")); | ||||
|     item->SetBackgroundColour(*wxBLACK); | ||||
|     item->SetTextColour(*wxRED); | ||||
| #if wxUSE_OWNER_DRAWN || defined(__WXGTK__) | ||||
|     item->SetBitmap(copy_xpm); | ||||
| #endif | ||||
|   | ||||
| @@ -959,7 +959,11 @@ bool wxMenuItem::OnDrawItem(wxDC& dc, const wxRect& rc, | ||||
|             rcText.top--; | ||||
|  | ||||
| #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 ) | ||||
|         { | ||||
|             POPUPITEMSTATES state; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user