MFC对话框的返回值

mydlg.DoModal();返回值只能是IDOK和IDCANCEL吗?可以是IDC_BUTTON1吗?... mydlg.DoModal();返回值只能是IDOK和IDCANCEL吗?可以是IDC_BUTTON1吗? 展开
 我来答
bhtzu
2015-01-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4222万
展开全部
除非你重载DoModal函数,否则返回值只能是标准的两个。
其实使用DoModal弹出的模态对话框,修改这个返值是没有意义的,因为在DoModal返回后,你仍然可以访问mydlg这个对话框类的成员变量(注意,不要使用界面相关的控件变量)获取数据,只要你在mydlg的OnOK函数中(或者其它成员函数也可以),赋值到一个自定义的类成员变量,DoModal之后都可以取到实际的赋值。
追问
假设我dlg1在运行过程中使其自定义类成员int x=3;
用以下方式打开dlg2
if(dlg1.DoModal()==IDOK)
dlg2.DoModal();
那么dlg2怎么接受到x=3?
追答

示例代码:

if(dlg1.DoModal()==IDOK)
{
    dlg2.y = dlg1.x;
    dlg2.DoMoal();
}

x和y都是非控件关联的类成员变量。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式