vc CMenu Popup菜单的使用问题?

CMenumenu;menu.CreatePopupMenu();menu.InsertMenu(0,MF_BYPOSITION,ID_MENU_NEW_MEMBER,_... CMenu menu;
menu.CreatePopupMenu();
menu.InsertMenu(0, MF_BYPOSITION , ID_MENU_NEW_MEMBER, _T("数据库配置"));
menu.InsertMenu(1, MF_BYPOSITION , ID_MENU_NEW_MEMBER, _T("系统配置"));
menu.InsertMenu(2, MF_BYPOSITION|MF_SEPARATOR);
menu.InsertMenu(3, MF_BYPOSITION , ID_MENU_NEW_MEMBER, _T("登陆"));
menu.InsertMenu(4, MF_BYPOSITION|MF_SEPARATOR);
menu.InsertMenu(5, MF_BYPOSITION , ID_MENU_NEW_MEMBER, _T("退出"));
menu.InsertMenu(6, MF_BYPOSITION|MF_SEPARATOR);

选中其中一个子菜单项,点击触发消息...

怎么样才能做到?

比如我选择"退出", 就会执行相应的函数...
hanjiangying,谢谢你的回答,但是似乎你这么做法,实现不了...

我这个菜单是这样形成的:
点击一个按钮后,执行上面的代码,产生下拉菜单;当点击其中的菜单项时,我怎么去响应这个鼠标点击呢?
展开
 我来答
保晏然2Q
2008-11-24 · TA获得超过1053个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:523万
展开全部
添加消息映射和消息函数即可:步骤如下:
(1)、在工程的cpp的消息映射中添加如下代码:
BEGIN_MESSAGE_MAP(CXXXView, CEditView)
//{{AFX_MSG_MAP(CVCProjectInfoView)
.......
ON_COMMAND(ID_MENU_NEW_EXIT, OnExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
注意,ON_COMMAND()里面的ID必须添加在资源中,打开资源面板的“String Table”就能添加,而且该菜单项的ID不能和其他菜单项相同,想你上面的代码里的ID全部相同,这样就不能区分到底该响应那个菜单项的消息了;OnExit是函数名
(2)、在工程类的头文件中添加消息函数说明,找到类似于
afx_msg void OnEditCut();的语句,照着他的形式写就可以了,例如添加退出的函数声明:afx_msg void OnExit(); 注意有参数的话必须写明,这你应该知道吧!
(3)、回到工程类的cpp文件中,添加菜单消息函数的实现代码,例如:
void CXXXXView::OnExit()
{
AfxGetMainWnd()->SendMessage(WM_CLOSE);//关闭窗口
}
178752468
2008-11-24 · TA获得超过291个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:397万
展开全部
菜单向窗口发送的WM_COMMAND消息
捕捉此WM_COMMAND消息即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式