java-flash 2016-08-12 04:22 采纳率: 75%
浏览 896
已采纳

DSkinLite 美化动态菜单

动态创建三级菜单,想要用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)
  • 写回答

1条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 3月28日