VC6.0 MFC 自己写菜单的问题

我新建了一个对话框类型的程序,然后新建了个菜单menu,加入了一些菜单项,请问改如何,到哪里添加我想要的代码?打开classwizard好像要让我新建一个class?... 我新建了一个对话框类型的程序,然后新建了个菜单menu,加入了一些菜单项,请问改如何,到哪里添加我想要的代码?打开classwizard好像要让我新建一个class? 展开
 我来答
蘅远的夜
2012-12-03 · TA获得超过6742个赞
知道大有可为答主
回答量:2.2万
采纳率:0%
帮助的人:5893万
展开全部
您是否是英文的。
这些对话框类类标题的程序或一个单文档程序,请单击上面的菜单出现。

类下面的类,单击鼠标右键,添加虚拟功能是增加一个虚函数。 。添加Windows消息处理程序创建一个Windows消息响应
djc11281
推荐于2017-08-23 · 超过28用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:38.2万
展开全部
看到这个问题的时候,我不知道从哪里开始说,不是问题的答案太复杂,而是我不知道楼主对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之间的区别,这些东西也不是三言两语就能解释清楚,还望楼主,好好学习,天天向上,不懂就问。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萍1185279685
2012-11-26
知道答主
回答量:46
采纳率:0%
帮助的人:9.1万
展开全部
双击那个GUI部件应该就行啊...
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式