如何关闭对话框后再显示对话框时,对话框的参数值不变

tangxudong 2007-09-18 09:51:34
各位大侠,有两个对话框Dialog1 Dialog2,在Dialog1里面有个BUTTON,单击显示的是Dialog2,我想单击BUTTON,显示Dialog2,在里面输入数据,然后关闭Dialog2,再单击BUTTON,显示Dialog2是输入的数据不变,还在,请问如何实现
我一开始想用CLOSEWINDOW()最小化,但不销毁Dialog2,可是再单击BUTTON时,显示(关闭,重试,忽略),我在BUTTON里用SHOWWINDOW(),不知道什么原因
...全文
257 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bai_hua_lin 2008-12-04
  • 打赏
  • 举报
回复
如果确实要关闭对话框,然后再显示出来。你需要把相关控件关联一个变量。对话框再次显示后,这些值会自动显示出来的。
shegood1985 2008-12-04
  • 打赏
  • 举报
回复
ding.............
shegood1985 2008-12-04
  • 打赏
  • 举报
回复
ding....
shanhqk 2007-09-18
  • 打赏
  • 举报
回复
1.在app的头文件中是否声明了m_pDialog2
2.如果声明了,使用theApp.m_pDialog2 = new CDialog2();
tangxudong 2007-09-18
  • 打赏
  • 举报
回复
m_pDialog2 = new CDialog2();
楼上,上面这它提示出错,'m_pDialog2' : 'int' differs in levels of indirection from 'class CWenduDlg *'
其他错误是m_pDialog2没有定义
qeq2008 2007-09-18
  • 打赏
  • 举报
回复
定义一个变量msg存储每次的输入值,
在下次打开时SetDlgItemText(idc_button,msg);
shanhqk 2007-09-18
  • 打赏
  • 举报
回复
1.使用非模态对话框,就是定义一个全局的CDialog2 * m_pDialog2;
在CMainFrm初始化的时候,或者在工程app初始化的时候,调用:m_pDialog2 = new CDialog2();
选择按钮内代码是:if (NULL != m_pDialog2){ m_pDialog2->ShowWindow(SW_SHOW)}
退出时不要销毁,而使用隐藏m_pDialog2->ShowWindow(SW_HIDE)
2.保存输入的信息,保存在全局变量中(这个在程序没有关闭的情况)或者保存在文件中(在程序关闭后使用)
向立天 2007-09-18
  • 打赏
  • 举报
回复
把对话框2的数据保存在主对话框中
每次创建的时候给话框2赋值
vocanicy 2007-09-18
  • 打赏
  • 举报
回复
你的对话框窗口还没有Create怎么能显示?!
其实你在Dialog1中添加一个CDialog2型的成员变量m_wndDialog2;

每次调用m_wndDialog2.DoModal();就可以了
因为这个对话框实例没有析构,内部与控件映射的变量的值是不会改变的


如果是局部变量
CDialog2 dlg;
dlg.DoModal();
每次窗口内容才会被恢复初始值
tangxudong 2007-09-18
  • 打赏
  • 举报
回复
我也是这么想的,但它会出错,
在主对话框Dialog1里的BUTTON里我用
CWenduDlg *dlg=new CWenduDlg();
dlg->ShowWindow(SW_SHOW);
在Dialog2里的ONOK里我用ShowWindow(SW_HIDE); 就是出错
oyljerry 2007-09-18
  • 打赏
  • 举报
回复
隐藏对话框好了
shawnwan 2007-09-18
  • 打赏
  • 举报
回复
ShowWindow(SW_HIDE);
ShowWindow(SW_SHOW);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧