MFC对话框的返回值
mydlg.DoModal();返回值只能是IDOK和IDCANCEL吗?可以是IDC_BUTTON1吗?...
mydlg.DoModal();返回值只能是IDOK和IDCANCEL吗?可以是IDC_BUTTON1吗?
展开
1个回答
展开全部
除非你重载DoModal函数,否则返回值只能是标准的两个。
其实使用DoModal弹出的模态对话框,修改这个返值是没有意义的,因为在DoModal返回后,你仍然可以访问mydlg这个对话框类的成员变量(注意,不要使用界面相关的控件变量)获取数据,只要你在mydlg的OnOK函数中(或者其它成员函数也可以),赋值到一个自定义的类成员变量,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都是非控件关联的类成员变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询