X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ec698211d5d82a009ac80fb354059e9af497508..233387bdcbb1c4f31c54b0fe6b3f03e8d261cab1:/src/msw/menu.cpp 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)