您是否是英文的。
这些对话框类类标题的程序或一个单文档程序,请单击上面的菜单出现。
类下面的类,单击鼠标右键,添加虚拟功能是增加一个虚函数。 。添加Windows消息处理程序创建一个Windows消息响应
看到这个问题的时候,我不知道从哪里开始说,不是问题的答案太复杂,而是我不知道楼主对MFC了解多少,从哪里开始写才能让你看到之后有恍然大悟的感觉。亦或是你只要答案。
我先给你介绍大概的步骤吧,
1.创建菜单资源之后,添加菜单项(最好改下ID编号,默认的编号可能就是ID_345612之类的,改的简明些,编程习惯很重要,如ID_父菜单_子菜单)。
2.(以在对话框内右击弹出菜单为例) 在右击事件中添加以下代码:
void CBaiduDlg::OnRButtonUp(UINT nFlags, CPoint point) //右击弹起
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CMenu menu;
menu.LoadMenu(IDR_MENU1);
//载入事先定义的菜单
CMenu* pMenu=menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
pMenu-> TrackPopupMenu
(TPM_LEFTALIGN|TPM_RIGHTBUTTON,
pos.x,pos.y,AfxGetMainWnd());
CDialog::OnRButtonUp(nFlags, point);
}
3.在消息映射区添加代码:
BEGIN_MESSAGE_MAP(CBaiduDlg, CDialog)
//以下为添加的代码,ID_WORLD_YOU 为子菜单的ID,Hello_World 为响应函数(自定义)
ON_COMMAND(ID_WORLD_YOU,&CBaiduDlg::Hello_World)
END_MESSAGE_MAP()
4.最后在响应函数中添加响应代码就可以了。
void CBaiduDlg::Hello_World()
{
AfxMessageBox(L"Hello World!!!");
}
这里面扯到的东西挺多的,CMENU类,MFC的消息映射制,ON_COMMAND,ON_MESSAGE,ON_NOTIFY之间的区别,这些东西也不是三言两语就能解释清楚,还望楼主,好好学习,天天向上,不懂就问。
双击那个GUI部件应该就行啊...