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