动态创建三级菜单,想要用DSkinLite 美化菜单,设置精度菜单有三个子菜单,在xml里是通过commnd 来加载图片,因为设置精度没有ID,应该怎么加载图片呢
程序:
CPoint pt;
CMenu menu,PrecisionMenu;
BOOL bAccuracy=TRUE;
menu.CreatePopupMenu();
PrecisionMenu.CreatePopupMenu();
PrecisionMenu.AppendMenuW(MF_STRING,USER_SET_ID+2, L" 0");//二级菜单
PrecisionMenu.AppendMenuW(MF_STRING,USER_SET_ID+3, L" 0.0");//二级菜单
PrecisionMenu.AppendMenuW(MF_STRING,USER_SET_ID+4, L" 0.00");//二级菜单
menu.AppendMenuW(MF_STRING, USER_SET_ID, L" 下载模板");
if (!m_TableDlg.m_bShowLR)
menu.AppendMenuW(MF_STRING,USER_SET_ID+1, L" 显示利润");
else
menu.AppendMenuW(MF_STRING,USER_SET_ID+1, L" 隐藏利润");
menu.AppendMenuW(MF_POPUP,(UINT)PrecisionMenu.m_hMenu, L" 设置精度"); //一级菜单
//dsSkinWindow((HWND)PrecisionMenu.m_hMenu, SKIN_TYPE_MENU, _T("accuracyMenu"), FALSE);//excel
//dsSetDrawItemValueEx( m_TempalteTree.GetSafeHwnd(), (int)hTreeItemChild, 0, _T("treeitemicon"), _T("tree2.downloaded"), true);
//dsSetDrawItemValueEx(NULL, USER_SET_ID+3, 0, _T("treeitemicon"), _T("MenuSet.Check"), FALSE);
CRect rcClient;
GetClientRect(&rcClient);
ClientToScreen(&rcClient);
pt.x = rcClient.right - 380;
pt.y = rcClient.top + 65;
dsTrackPopupMenu(menu.GetSafeHmenu(),TPM_RIGHTBUTTON,pt.x,pt.y, m_hWnd,NULL);
menu.DestroyMenu();
xml
![图片说明](https://img-ask.csdn.net/upload/201608/12/1470975745_429328.png)