动态创建CMenu
时间: 2023-11-28 09:48:27 浏览: 84
DynamicMenu动态创建菜单
5星 · 资源好评率100%
动态创建CMenu可以使用CMenu类中的CreatePopupMenu方法。下面是一个简单的例子:
```
CMenu popupMenu;
VERIFY(popupMenu.CreatePopupMenu());
// 添加菜单项
popupMenu.AppendMenu(MF_STRING, IDM_MENU_ITEM_1, _T("菜单项1"));
popupMenu.AppendMenu(MF_STRING, IDM_MENU_ITEM_2, _T("菜单项2"));
// 在指定位置显示菜单
CPoint point; // 假设point表示鼠标点击位置
ClientToScreen(&point);
popupMenu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);
```
在上述例子中,首先使用CreatePopupMenu方法创建了一个弹出菜单对象popupMenu。然后使用AppendMenu方法添加了两个菜单项。最后使用TrackPopupMenu方法在指定位置显示了菜单。其中,TPM_LEFTALIGN和TPM_RIGHTBUTTON参数分别表示菜单左对齐和右键触发。这里的this参数表示当前窗口对象。
阅读全文