]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/menu.cpp
wxControl::SetLabel no longer strips out codes so do it here
[wxWidgets.git] / src / msw / menu.cpp
index a4928f0a0c5b557d3213c77558518f978a4d751d..69244364609b425dd90d6885042c0a436ba5460e 100644 (file)
@@ -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)