Cmenu动态创建内容并绑定函数
时间: 2023-09-11 12:11:57 浏览: 100
动态按钮的产生以及响应
CMenu是MFC中的一个菜单类,可以通过动态创建菜单项,并绑定响应函数来实现菜单的功能。
以下是一个简单的示例代码,可以在菜单中动态创建两个菜单项,并分别绑定两个响应函数:
```cpp
CMenu menu;
menu.CreatePopupMenu(); // 创建弹出式菜单
// 在菜单中添加两个菜单项
menu.AppendMenu(MF_STRING, 1001, _T("菜单项1"));
menu.AppendMenu(MF_STRING, 1002, _T("菜单项2"));
// 将菜单与窗口关联
CWnd* pWnd = AfxGetMainWnd();
CPoint pt;
GetCursorPos(&pt);
pWnd->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON, pt.x, pt.y, this);
// 绑定菜单项的响应函数
pWnd->SetMessageMap(&messageMap);
ON_COMMAND(1001, &MyClass::OnMenu1)
ON_COMMAND(1002, &MyClass::OnMenu2)
```
其中,OnMenu1和OnMenu2是两个响应函数,可以在这里实现菜单项的功能。注意,要将菜单与窗口关联,使用TrackPopupMenu函数来显示菜单。
阅读全文