MFC 单击菜单弹出对话框

网上有这个步骤我想问那个“在主对话框的OnInit函数”在哪里????!!!具体一点谢谢方法有很多先说个最简单的1.在工程的资源里面加1个菜单和3个对话框(假设ID是ID... 网上有这个步骤 我想问 那个“在主对话框的OnInit函数”在哪里????!!!具体一点谢谢

方法有很多
先说个最简单的
1. 在工程的资源里面加1个菜单和3个对话框(假设ID是IDR_MENU1, IDD_DIALOG1, IDD_DIALOG2, IDD_DIALOG3);
2. 在菜单添加要的选项, 对话框里面拖你要的控件
3. 在主对话框的OnInit函数里写以下代码
CMenu* menu = new CMenu;
menu->LoadMenu(MAKEINTRESOURCE(IDR_MENU1));
this->SetMenu(menu);
到现在我们已经把菜单加到主对话框里了, 节下来是响应菜单项
4. 对menu的某一项右键, 添加一个COMMEND MESSAGE, 系统会自动生成一个函数, 在函数里面写以下代码
// TODO: Add your command handler code here
CDialog* dlg = new CDialog;
dlg->Create(MAKEINTRESOURCE(IDD_DIALOG1));
dlg->ShowWindow(1);
5. 其他两项也一样的做法
展开
 我来答
小兔儿爹
2010-12-24 · 超过21用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:47.3万
展开全部

OnInitDialog函数。

在对话框编辑页面上,按ctrl+w调出资源管理器。如附图。

ijtni96
推荐于2017-11-28 · TA获得超过197个赞
知道答主
回答量:308
采纳率:0%
帮助的人:234万
展开全部
方法有很多
先说个最简单的
1. 在工程的资源里面加1个菜单和3个对话框(假设ID是IDR_MENU1, IDD_DIALOG1, IDD_DIALOG2, IDD_DIALOG3);
2. 在菜单添加要的选项, 对话框里面拖你要的控件
3. 在主对话框的OnInit函数里写以下代码
CMenu* menu = new CMenu;
menu->LoadMenu(MAKEINTRESOURCE(IDR_MENU1));
this->SetMenu(menu);
到现在我们已经把菜单加到主对话框里了, 节下来是响应菜单项
4. 对menu的某一项右键, 添加一个COMMEND MESSAGE, 系统会自动生成一个函数, 在函数里面写以下代码
// TODO: Add your command handler code here
CDialog* dlg = new CDialog;
dlg->Create(MAKEINTRESOURCE(IDD_DIALOG1));
dlg->ShowWindow(1);
5. 其他两项也一样的做法
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枚楠ds
2010-12-24 · 感谢大家的信任与支持!谢谢关注!
枚楠ds
采纳数:6 获赞数:78

向TA提问 私信TA
展开全部

单击insert—单击Resource—选中Dialog,然后点击New。在新建的对话框里右击,选择ClassWizard,跳出一个对话框,在creat。。。情况下,选中OK!在name  输入你想要的名字,比如ab01,后点OK。再OK!

   找到Resource的主对话框(IDD_MY....),双击,再双击上面的按钮,点ok!在//TOdo。。。下行输入如此代码:

ab01 t;

t.DoModal();

强调这里大小写要区分

然后  把文件拉到顶端

在#include "007Dlg.h"下面输入

#include "ab01.h"

然后运行  调试  即可 !

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hostmanye
2011-01-05 · TA获得超过1057个赞
知道小有建树答主
回答量:511
采纳率:33%
帮助的人:199万
展开全部
//右键列表
void OnNMRclickUserList(NMHDR * pNMHDR, LRESULT * pResult)
{
NMITEMACTIVATE * pListNotify=(NMITEMACTIVATE *)pNMHDR;
if (pListNotify->iItem!=-1)
{
//获取位置
CPoint MousePoint;
GetCursorPos(&MousePoint);

//构造菜单
CMenu CtrlMenu;
CtrlMenu.CreatePopupMenu();

//功能菜单
CtrlMenu.AppendMenu(MF_ENABLED,IDM_MENU_NULL,TEXT("菜单项名字"));
CtrlMenu.AppendMenu(MF_SEPARATOR);

//显示菜单
CtrlMenu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,MousePoint.x,MousePoint.y,this);
}

return;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式