我有一个处理数据的mfc程序,由于数据处理需要一段时间,我想在程序计算时弄个等待提示框,计算结束后该框就关闭,不知道应该怎么弄?

解决方案 »

  1.   

    程序开始时Domodal一个窗口,开线程进行数据处理,处理完数据后发消息到domodal的窗口让它关闭
      

  2.   


    什么domodal,能不能具体点?
      

  3.   

    lZ为什么不用进度条呢,状态栏  或者Static都可以啊 
      

  4.   

    这方法有多种多样,可以采用如下这种方式:
    1、添加一个提示框对话框类。
    2、在你的数据处理函数中,在开始处理之前定义一个此对话框的一个实例,并调用ShowWindow,注意不能用DoModal();
    3、把你的对话框的属性设置成TOPMOST.
      

  5.   

    如果要想控制数据处理的整个过程的话,采用如下方案:
    1、把你的数据处理函数写成一个线程,创建一个线程来执行这个数据处理函数。
    2、再建一个提示对话框,提示用户等待,还可以添加处理进度条。
    3、在创建线程的处理函数里,创建完线程后定义一个提示框对话框的类实例,并调用DoModal()显示成模式对话框。把你的线程是否结束的变量通过指针或者引用的方式传给这个对话框,对话框中反复检测线程是否终止,如果终止就可以调用OnCancle()退出此对话框。另外,你可以在对话框上添加暂停、取消等控制按钮,这就需要对话框与线程之间通信,通信最简单的办法是通过共享变量。
      

  6.   

    VC6中有个组件叫SplashWindow的,我想可以帮助你的。
      

  7.   

    添加一个对话框资源,做成提示框的样子,绑定类比如CDlg;
    在开始计算的时候
    CDlg dlg;
    dlg.DoModal();
    就弹出一个模式对话框(必须关掉才能进行其它工作),等计算完毕发个消息给他关闭就行
    3楼的建议也很好,可以用进度条