mfc中 一个对话框类如何创建多个对话框?

我的程序里需要很多确认的选项,每次确认都需要弹出一个对话框(均不相同),这些对话框能不能统一放到一个类中,而不是为每一个对话框都创建一个类?... 我的程序里需要很多确认的选项,每次确认都需要弹出一个对话框(均不相同),这些对话框能不能统一放到一个类中,而不是为每一个对话框都创建一个类? 展开
 我来答
bhtzu
推荐于2017-12-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4202万
展开全部

使用资源的对话框,因为使用ID关联,一个资源和一组代码(.H/CPP)是一一对应的关系,没法创建出不同界面的对话框。


如果这些对话框结构简单,返值也不需要大量的代码,可以考虑使用代码动态创建对话框和对话框控件的办法。不过,这个办法同样需要大量的代码,因为每个控件都需要动态创建,还不如多几个类呢。


另外,如果界面样子基本一致,那么使用同一个类是没问题的,只要在模态对话框声明后,传递一个参数过去,在OnInitDialog里面根据参数简单调整即可:

CxxDialog dlg;
dlg.modeSet = 2;//自定义类成员,参数
dlg.DoModal();

//OnInitDialog中
if(modeSet==2)
    SetDlgItemText(IDC_BUTTON1,_T("改变参数1"));
else
    SetDlgItemText(IDC_BUTTON1,_T("设置参数2"));
400zclkuu
2015-09-22 · TA获得超过2938个赞
知道大有可为答主
回答量:4768
采纳率:16%
帮助的人:1582万
展开全部
首先说在MFC中,比较强调的是文档与视图对应关系。也就是文档代表了一组后台数据,而视图则是将这一数据以特定的方式显示出来。这时多文档往往也意味着程序允许同时打开(多组)数据,每一组数据仍对应一个视图。多组数据一般应该有同样的结构与格式,视图显示方式也基本一致(当然这只是一般而言,MFC也支持扩展实)。
那么对你而言,只要不存在这样的多组数据(可以想像一个.txt 存一组文字,多组文字可以各自独立的存于不同的.txt文件中)的同时打开(就像很多编程软件允许同时编辑多个代码文件)。那么“多文档”其实并不需要。
再说“单文档”与“对话框”,如果明白了“多文档”那么“单文档”就是一次只能打开一个文档,(注意)但每次打开操作都应针对一个特定的文档(如“记事本”中你要么新建,要么打开一个已有的.txt),而“对话框”程序就没有这个打开某一个文件这样的过程。
当然这不是说“对话框”程序就不能通过文档来管理数据,通过各种控件,或是直接打开文档读出数据都可以直接完成数据的更新与维护操作(管理软件中所面对的主要问题)。
最后,MFC实际上非常灵活,以上也只是一般而言,仅供参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2018359
2015-09-21 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1429万
展开全部
可以啊,没问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式