MFC 单击菜单弹出对话框
答案:3 悬赏:20 手机版
解决时间 2021-03-21 13:52
- 提问者网友:書生途
- 2021-03-21 05:16
MFC 单击菜单弹出对话框
最佳答案
- 五星知识达人网友:忘川信使
- 2021-03-21 05:25
方法有很多
先说个最简单的
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. 其他两项也一样的做法
先说个最简单的
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. 其他两项也一样的做法
全部回答
- 1楼网友:纵马山川剑自提
- 2021-03-21 08:18
OnInitDialog函数。
在对话框编辑页面上,按ctrl+w调出资源管理器。如附图。
- 2楼网友:孤独入客枕
- 2021-03-21 07:00
//右键列表
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;
}
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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯