一个基于Dialog的程序。
在一个OnBnClicked函数里有个操作需要等待10秒,所以希望弹出一个方框,显示“还剩XX秒..”
倒数到0的时候自动销毁这个方框。大家能给出一个阻塞的做法,和一个非阻塞的做法吗?
听说可以做成一个控件,以后直接用就好了。学MFC时间不长,能给点代码就谢谢喽

解决方案 »

  1.   

    弹出对话框里,设置OnTimer即可。
    阻塞非阻塞,就是用户可以在弹出对话框后可以或不可以操作父窗口?创建模式化对话框DoModal或者非模式化对话框Create即可。
      

  2.   

    up~
    你在调出的对话框里设置一个for循环也可以啊,Sleep(1000),然后显示内容变一下。
      

  3.   

    在Dialog里添加一个STATIC TEXT控件改变他的ID,给他帮定一个int变量.
    然后在对话框的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);
            
    }
      

  4.   

    OnTimer
    定义一个变量等于10
    每次运行OnTimer就--
    然后判断==0 
    就发送SendMessage(WM_CLOSE,0,0);
      

  5.   

    谢谢楼上。
    可以做出效果,设置了窗口的背景之后,Static的背景改不了。网上有人说用DrawText更简单。
    正在研究。
      

  6.   


    我用create一个对话框,如果用按钮点击,或者其它函数调用,都能够正常运行,奇怪的是,当其它线程来调用这个对话框的时候,创建就失败了!
      

  7.   

    我DrawText里有个CDC不知道怎么用呢?
    谁能告诉我下
      

  8.   

    是不是基于对话框的程序,不能使用CDC啊?