关于模态对话框

woaixiaocaomei 2011-06-23 04:05:27
请问。我有这样一个模态对话框,在该对话框类中有一些变量,函数,还设了一个定时,请问是否是该模态对话框存在的时候,这些变量,定时器才存在,关闭对话框,定时器和变量是否存在?新手求教。。
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
woaixiaocaomei 2011-06-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shenyi0106 的回复:]
不过要提醒你一点,

模态对话框,只有在执行了DoModal()后,它上面的界面元素(控件)才会是有效的,DoModal返回后它上面的界面元素,也会随之失效。非界面元素不受影响。
[/Quote]

那我就是只能在摧毁模态对话框之前,将变量先传到VIEW类中保存起来?不然变量就不存在了么
woaixiaocaomei 2011-06-23
  • 打赏
  • 举报
回复
是这样的,我是基于单文档的程序,视图中点BUTTON。弹出模态对话框,该对话框是关联了一个类CMyDlg1

CMyDlg1中有变量。是用来保存COMBOBOX选中值的, 然后判断是在视图类中,需要用到COMBOBOX的值
shenyi0106 2011-06-23
  • 打赏
  • 举报
回复
不过要提醒你一点,

模态对话框,只有在执行了DoModal()后,它上面的界面元素(控件)才会是有效的,DoModal返回后它上面的界面元素,也会随之失效。非界面元素不受影响。
shenyi0106 2011-06-23
  • 打赏
  • 举报
回复
可以啊,你讲你的N个对话框定义到主窗口类中,那样只有在主窗口销毁时,你的N个窗口才销毁,否则都存在,当然里面的变量也是存在的
woaixiaocaomei 2011-06-23
  • 打赏
  • 举报
回复
新手真是容易走弯路T T又白写了。我以为模态对话框关闭后,变量还是存在的,我有N个对话框,我想先统一设定好对话框中的COMBOBOX的值,然主界面在从1-N号对话框调用COMBOBOX的值。

那么这样可行 我设置好COMBOBOX的值,然后按一个BUTTON(保存设定)然后发送消息SENDMESSAGE,将该变量值发送到主界面的类中。到时候需要的话,就调用这个值
shenyi0106 2011-06-23
  • 打赏
  • 举报
回复
作用域内存在,比如
void CxxxDlg::OnButton()
{
CxxDlg dlg;
if(dlg.DoModal() == IDOK)
{
//代码
}
}
那么对以你CxxDlg这个对话框中的变量来说,在OnButton这个函数内都是有效的,出了这个函数,就销毁了
woaixiaocaomei 2011-06-23
  • 打赏
  • 举报
回复
那我要实现关闭对话框的时候,变量和定时器还存在的,应该怎么实现呢?就是不能用模态对话框了吗
oyljerry 2011-06-23
  • 打赏
  • 举报
回复
关闭对话框,变量么有了,定时器要看你是否有关闭,但是处理定时器消息的对话框关闭了,定时器也不工作了

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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