From: Jamie Gadd Date: Sun, 8 Jan 2006 13:28:52 +0000 (+0000) Subject: InsertMenuItem can be used by submenus having bitmaps also X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2919a8b5af9bb78a390a0473703a3f6b37c2da6c InsertMenuItem can be used by submenus having bitmaps also git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index a4928f0a0c..6924436460 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -420,11 +420,21 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) // now run-time one: MIIM_BITMAP only works under WinME/2000+ if ( wxGetWinVersion() >= wxWinVersion_98 ) { - mii.fMask = MIIM_ID | MIIM_STRING | MIIM_DATA | MIIM_BITMAP; - mii.wID = id; + mii.fMask = MIIM_STRING | MIIM_DATA | MIIM_BITMAP; mii.cch = itemText.length(); mii.dwTypeData = wx_const_cast(wxChar *, itemText.c_str()); + if (flags & MF_POPUP) + { + mii.fMask |= MIIM_SUBMENU; + mii.hSubMenu = (HMENU)pItem->GetSubMenu()->GetHMenu(); + } + else + { + mii.fMask |= MIIM_ID; + mii.wID = id; + } + // we can't pass HBITMAP directly as hbmpItem for 2 reasons: // 1. we can't draw it with transparency then (this is not // very important now but would be with themed menu bg)