MFC对话框基础之上在添加一个对话框,并将这两个对话框整合到选项卡中

如题,我已经有一个MFC程序,但现在想在这个MFC的程序基础之上在添加一个界面,并将添加的界面和原有的界面合并到选项卡中,我是Dialogbased建的界面... 如题,我已经有一个MFC程序,但现在想在这个MFC的程序基础之上在添加一个界面,并将添加的界面和原有的界面合并到选项卡中,我是Dialog based建的界面 展开
 我来答
bhtzu
推荐于2016-06-06 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4223万
展开全部
MFC下基于对话框的选项卡,是1+N个对话框组成的。
假设你原有对话框为A,新对话框为B。
原来的代码应该是调用A.DoModal()弹出界面。那么新的模式下,你还要建立一个新对话框M,并在M上增加选项卡,来“容纳”A/B两个对话框。调用方式改为M.DoModal()
在对话框属性上,A/B两个都需要改为无边框的Child模式。
更麻烦的是,如果A和调用者有数据和消息交互,需要大量改动,如果没有当然最好。
追问

我按照您说的做了,但是结果就是选项卡不能显示,只有一个方块,我的做法就是:将A.DoModal()改成M.DoModal;

 

然后在OnInitDialog()中将选项卡控件初始化(其中注释掉的部分为对话框A,我不知道A对话框怎么初始化)

 

但是运行之后结果却是选项卡区域只有一个矩形,没有初始化

各个子选项卡已经设为了无边框的Child模式

追答

问题应该是出在OnInitDialog,你这个不是常规的选项卡初始模式,几种机制用混了。

如果A关联较多,先不理它,创建一个C,空白对话框,随便放个编辑框在上面,用B和C测试。

方法参照百科里面这个文档:

http://wenku.baidu.com/view/b48c934d2b160b4e767fcfd6.html

注意,创建选项卡,MFC下有四五种方案,选定一种做,不能混着用。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式