在VC2005下,我在MFC编程时,想在一个对话框中单击一个菜单项,让另一个对话框弹出,请问如何实现

 我来答
yt_geniu
2011-04-16 · 超过35用户采纳过TA的回答
知道答主
回答量:300
采纳率:0%
帮助的人:117万
展开全部
首先,你要为你的“录入学生信息”对话框创建类,方法很简单,双击“录入学生信息”对话框,弹出MFC类向导,添加类名,如CInputInformationDlg,点击完成。
*注意,如果你的IE浏览器是IE6以上可能还会遇到点麻烦,建议IE浏览器是IE6。
2.创建菜单事件处理函数。鼠标右键单击菜单项“录入学生信息”,选择“添加事件处理函数”,在“类列表”中选择你的主对话框的类,如你的主对话框类是CStudentInformationDlg,选择它,修改“函数处理程序名称”为InputInformation。点击“添加编辑”。
3.在主对话框文件中包含弹出对话框类文件,即在StudentInformationDlg.h文件中添加 #include “InputInformationDlg.h”.
4.主对话框文件中声明弹出对话框类对象,如CInputInformationDlg InputInfor;
5.在事件处理函数处添加弹出对话框操作,即在函数
void CStudentInformationDlg::InputInformation()处添加
void CStudentInformationDlg::InputInformation()
{
InputInfor.DoModal();
}
运行即可。
追问
.主对话框文件中声明弹出对话框类对象,声明具体放哪里啊?
changdia
2011-04-15 · TA获得超过150个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:166万
展开全部
如果这个对话框是你自己创建的 可以这么做,为你的这个对话框创建一个类,如果没什么特殊要求的话,从CDialog公有继承就行。
然后在你的那个菜单项的响应函数里面新建对话框类的一个对象(当然之前的添加类的声明#include“***.h”),然后又该对象调研DoModal()函数,ok;

假如你的对话框类是 CMyDialog,定义对象m_myDialog;
m_myDialog.DoModal();就调出了对话框
追问
我是大一学生,第一次做个学生管理系统,什么都不懂。我自己在界面上加了个“学生信息管理”菜单,比如点下面的子菜单“录入学生信息”;如何弹出自己建的一个学生信息录入对话框?谢谢再帮我解决一下。
追答
下面的哥们说的挺详细了,个人感觉有点问题
只能说编程的习惯什么的不一样
这个“学生管理系统:应该是一个单(多)文档程序,所以为“录入学生信息”项添加事件处理函数函数时可以选择对应的C****View类,不是主对话框类

在录入学生信息对话框的编辑页面 按Ctrl+W打开MFC类向导,他会提示你要不要新建一个类,选新建,从CDialog公有继承,类名自己填一个。

如果“录入学生信息”的事件处理函数函数放在C****View类里面,在C****View类的cpp文件里面添加你建的那个类#include“***.h”,新建这个类的一个对象,然后用该对象调用DoModal()函数,ok;

建议看一下孙鑫的VC视频,这个很好,视频到处可以下到,第7章第1部分讲了一下为对话框创建类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式