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:
parent
b146648622
commit
e801524514
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user