在MFC中,打开一个对话框可以通过调用一个类CExam,然后用该类创建一个对象CExam cc,然后调用cc.DoModal();,将这两个语句放入一个函数中即可打开,但一般这两个语句都是放在诸如OnLButtonDown(),OnButton()之类的函数中,也就是说当点击某个键时它就会打开这个对话框,而我现在想实时的调用该对话框,把这两个语句放在OnTimer()中,通过一个条件来判断打不打开此对话框,假如我这样写
if(ok)
{
CExam cc;
cc.DoModal();
ok=1;
}
我的意思是想让它打开一个对话框就行了,但是事与愿违,执行时它不断打开对话框,以至于关都关不掉!请教怎样才能达到使用条件打开一个对话框,同时只打开一个?
if(ok)
{
CExam cc;
cc.DoModal();
ok=1;
}
我的意思是想让它打开一个对话框就行了,但是事与愿违,执行时它不断打开对话框,以至于关都关不掉!请教怎样才能达到使用条件打开一个对话框,同时只打开一个?
解决方案 »
- 问一个高中数学题
- SetMenuItemBitmaps
- 鼠标点击读取灰度值
- 請问:做UI的前景如何呀??谢谢!!
- 菜鸟初学:客户端一连接上就出错~ 怎么搞的?。。。。。。。
- 写文件问题!!谢谢!
- 关于重载:在FromView中创建了一个按钮,想按下时重载OnInitUpdate操作,怎么办啊?请教?
- Win2000控制面板字体中:大图标显示为O,A,T的分别代表什么意思?设置哪种中文字体,可以让字体很小时仍然很清楚?
- 怎样做最好?
- 高分求教,在DAO中如何调用存储过程??
- DLL与EXE资源冲突,高手进来看看
- bool与BOOL false vs FALSE ,char vs CHAR 有何区别?
if(ok)
{
KillTimer(...); CExam cc;
cc.DoModal();
ok=1; SetTimer(...);
}
{
CExam cc;
openflag = false;
cc.DoModal();
openflag = true;
ok=1;
}
先谢了!用你的方法我试过了,但有一个问题,当打开一个对话框后,快速的将其关掉可行,但是打开后如果过一会儿再打开就有可能要关两次或三次,这是怎么回事?怎样才能解决?
if(ok)
{
KillTimer(...); CExam cc;
cc.DoModal();
ok=1; SetTimer(...);
}
打开了一个对话框,
但是这个对话框第一次打开时要关两到三次才能关掉, 以后只要关一下就关掉了(就是点击对话框中的确定按钮)。这是不是线程不统一的缘故?怎么样才能解决?
if(!show)
{
CExam cc;
show=true;
cc.DoModal();
show=false;
}