![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
MFC对话框基础之上在添加一个对话框,并将这两个对话框整合到选项卡中
如题,我已经有一个MFC程序,但现在想在这个MFC的程序基础之上在添加一个界面,并将添加的界面和原有的界面合并到选项卡中,我是Dialogbased建的界面...
如题,我已经有一个MFC程序,但现在想在这个MFC的程序基础之上在添加一个界面,并将添加的界面和原有的界面合并到选项卡中,我是Dialog based建的界面
展开
1个回答
展开全部
MFC下基于对话框的选项卡,是1+N个对话框组成的。
假设你原有对话框为A,新对话框为B。
原来的代码应该是调用A.DoModal()弹出界面。那么新的模式下,你还要建立一个新对话框M,并在M上增加选项卡,来“容纳”A/B两个对话框。调用方式改为M.DoModal()
在对话框属性上,A/B两个都需要改为无边框的Child模式。
更麻烦的是,如果A和调用者有数据和消息交互,需要大量改动,如果没有当然最好。
假设你原有对话框为A,新对话框为B。
原来的代码应该是调用A.DoModal()弹出界面。那么新的模式下,你还要建立一个新对话框M,并在M上增加选项卡,来“容纳”A/B两个对话框。调用方式改为M.DoModal()
在对话框属性上,A/B两个都需要改为无边框的Child模式。
更麻烦的是,如果A和调用者有数据和消息交互,需要大量改动,如果没有当然最好。
追问
追答
问题应该是出在OnInitDialog,你这个不是常规的选项卡初始模式,几种机制用混了。
如果A关联较多,先不理它,创建一个C,空白对话框,随便放个编辑框在上面,用B和C测试。
方法参照百科里面这个文档:
http://wenku.baidu.com/view/b48c934d2b160b4e767fcfd6.html
注意,创建选项卡,MFC下有四五种方案,选定一种做,不能混着用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询