mfc一个对话框如何显示另一个对话框

我定义了一个基于对话框:dialog1,的工程,然后又在资源视图里插入了一个新的对话框dialog2。其中dialog1有个open按钮,点击Open按钮,则打开“打开文... 我定义了一个基于对话框:dialog1,的工程,然后又在资源视图里插入了一个新的对话框dialog2。
其中dialog1有个open按钮,点击Open按钮,则打开“打开文件”对话框,选择好要打开的文件,在dialog2的Edit里显示。
但我利用dialog1::OnOpen(){
……//显示打开文件对话框,并选择好文件
dialog2 newdlg;
if(newdlg.domodal()==IDOK)
{newdlg.m_Edit.SetWindowText(str);//str存放着文件的内容
}
}
结果发现打开了dialog2但其edit控件里并没有显示任何内容,而我用断点跟踪,确信文件内容已经赋给了str,就是显示不出来.请教啊。
展开
 我来答
福建无心
2011-08-16 · TA获得超过3万个赞
知道大有可为答主
回答量:5887
采纳率:50%
帮助的人:4536万
展开全部
调用该函数updateData(false);
代码为控件变量设置值后,需求调用该函数以通知界面刷新数据,不然界面怎么可能知道控件变量的值发生变更了呢?
aaaa9813
2011-08-16 · TA获得超过127个赞
知道小有建树答主
回答量:486
采纳率:50%
帮助的人:233万
展开全部
dialog2 newdlg;
if(newdlg.domodal()==IDOK)//执行完这句后,对话框已以被释放掉了,怎么可能显示东西呢
{newdlg.m_Edit.SetWindowText(str);//str存放着文件的内容
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f9d32a
2011-08-16 · 超过13用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:54.1万
展开全部
先用SetWindowText(str) 在DoModal()看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beddy1
2011-08-16 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2203万
展开全部
几天前回答过一个完全一样的问题,怎么又出来问了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生伶俐5o
2011-08-16 · TA获得超过109个赞
知道答主
回答量:231
采纳率:0%
帮助的人:131万
展开全部
一楼正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cb8d0e198
2011-08-16 · TA获得超过1198个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:781万
展开全部
执行了newdlg.domodal()语句之后,弹出一个对话框,在这个对话框销毁之前,程序停留在这条语句上,不会往下执行。。。即,在对话框2被销毁之前newdlg.m_Edit.SetWindowText(str);这条语句是不会被执行的,只有当你点击了确定按钮之后,它才执行。。。

你可以这样做。。。
在dialog2中添加成员变量:CString strFile;并在OnInitDialog函数中添加m_Edit.SetWindowText(strFile);

然后把 dialog2 newdlg;
if(newdlg.domodal()==IDOK)
{newdlg.m_Edit.SetWindowText(str);//str存放着文件的内容
}
改成
dialog2 newdlg;
newdlg.strFile=str;
newdlg.domodal();

OK了,还有什么问题,可以继续提问~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式