mfc中 一个对话框类如何创建多个对话框?
我的程序里需要很多确认的选项,每次确认都需要弹出一个对话框(均不相同),这些对话框能不能统一放到一个类中,而不是为每一个对话框都创建一个类?...
我的程序里需要很多确认的选项,每次确认都需要弹出一个对话框(均不相同),这些对话框能不能统一放到一个类中,而不是为每一个对话框都创建一个类?
展开
3个回答
展开全部
使用资源的对话框,因为使用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"));
展开全部
首先说在MFC中,比较强调的是文档与视图对应关系。也就是文档代表了一组后台数据,而视图则是将这一数据以特定的方式显示出来。这时多文档往往也意味着程序允许同时打开(多组)数据,每一组数据仍对应一个视图。多组数据一般应该有同样的结构与格式,视图显示方式也基本一致(当然这只是一般而言,MFC也支持扩展实)。
那么对你而言,只要不存在这样的多组数据(可以想像一个.txt 存一组文字,多组文字可以各自独立的存于不同的.txt文件中)的同时打开(就像很多编程软件允许同时编辑多个代码文件)。那么“多文档”其实并不需要。
再说“单文档”与“对话框”,如果明白了“多文档”那么“单文档”就是一次只能打开一个文档,(注意)但每次打开操作都应针对一个特定的文档(如“记事本”中你要么新建,要么打开一个已有的.txt),而“对话框”程序就没有这个打开某一个文件这样的过程。
当然这不是说“对话框”程序就不能通过文档来管理数据,通过各种控件,或是直接打开文档读出数据都可以直接完成数据的更新与维护操作(管理软件中所面对的主要问题)。
最后,MFC实际上非常灵活,以上也只是一般而言,仅供参考
那么对你而言,只要不存在这样的多组数据(可以想像一个.txt 存一组文字,多组文字可以各自独立的存于不同的.txt文件中)的同时打开(就像很多编程软件允许同时编辑多个代码文件)。那么“多文档”其实并不需要。
再说“单文档”与“对话框”,如果明白了“多文档”那么“单文档”就是一次只能打开一个文档,(注意)但每次打开操作都应针对一个特定的文档(如“记事本”中你要么新建,要么打开一个已有的.txt),而“对话框”程序就没有这个打开某一个文件这样的过程。
当然这不是说“对话框”程序就不能通过文档来管理数据,通过各种控件,或是直接打开文档读出数据都可以直接完成数据的更新与维护操作(管理软件中所面对的主要问题)。
最后,MFC实际上非常灵活,以上也只是一般而言,仅供参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以啊,没问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询