一个基于Dialog的程序。
在一个OnBnClicked函数里有个操作需要等待10秒,所以希望弹出一个方框,显示“还剩XX秒..”
倒数到0的时候自动销毁这个方框。大家能给出一个阻塞的做法,和一个非阻塞的做法吗?
听说可以做成一个控件,以后直接用就好了。学MFC时间不长,能给点代码就谢谢喽
在一个OnBnClicked函数里有个操作需要等待10秒,所以希望弹出一个方框,显示“还剩XX秒..”
倒数到0的时候自动销毁这个方框。大家能给出一个阻塞的做法,和一个非阻塞的做法吗?
听说可以做成一个控件,以后直接用就好了。学MFC时间不长,能给点代码就谢谢喽
阻塞非阻塞,就是用户可以在弹出对话框后可以或不可以操作父窗口?创建模式化对话框DoModal或者非模式化对话框Create即可。
你在调出的对话框里设置一个for循环也可以啊,Sleep(1000),然后显示内容变一下。
然后在对话框的OnInitDialog函数里初始化这个int变量为一个数比如60,在这里创建一个计时器比如:SetTimer(800,1000,NULL);
然后在对话框里的OnTimer处理即可,比如:
void XXXX::OnTimer(UINT_PTR nIDEvent)
{
if(nIDEvent==800)
{
m_strTime-=1;//m_strTime为绑定的int变量
UpdateData(FALSE);
}
CDialogEx::OnTimer(nIDEvent);
}
定义一个变量等于10
每次运行OnTimer就--
然后判断==0
就发送SendMessage(WM_CLOSE,0,0);
可以做出效果,设置了窗口的背景之后,Static的背景改不了。网上有人说用DrawText更简单。
正在研究。
我用create一个对话框,如果用按钮点击,或者其它函数调用,都能够正常运行,奇怪的是,当其它线程来调用这个对话框的时候,创建就失败了!
谁能告诉我下