CMenu p;
p.CreateMenu();
CMenu pop;
pop.CreatePopupMenu();
pop.AppendMenu(MF_STRING,ID_NEW,"NEW");
pop.AppendMenu(MF_STRING,ID_OPEN,"OPEN");
p.AppendMenu(MF_POPUP,(UINT)pop.Detach(),"FILE");
我想在OPEN这里再建个层叠菜单(子菜单),也就是鼠标移到OPEN那里右边就再出现OPEN下的子菜单。
p.CreateMenu();
CMenu pop;
pop.CreatePopupMenu();
pop.AppendMenu(MF_STRING,ID_NEW,"NEW");
pop.AppendMenu(MF_STRING,ID_OPEN,"OPEN");
p.AppendMenu(MF_POPUP,(UINT)pop.Detach(),"FILE");
我想在OPEN这里再建个层叠菜单(子菜单),也就是鼠标移到OPEN那里右边就再出现OPEN下的子菜单。
再用InsertMenu()插入子菜单
再用DrawMenuBar()重画菜单。
ps->ModifyMenu(ID_OPEN,MF_BYCOMMAND|MF_POPUP,(UINT)otherpop.Detach(),"OPEN");
CMenu *ps=p.GetSubMenu(0);
ps->ModifyMenu(ID_OPEN,MF_BYCOMMAND|MF_POPUP,(UINT)otherpop.Detach(),"OPEN");
MF_BYCOMMAND|MF_POPUP
这个MF_BYCOMMAND是表示什么?干什么用的。
对应的是MF_POSITION表示按子菜单的位置(0,1,2,3...)