我开发了一个SDI程序,该程序的主线程完成从服务器接收数据然后计算的工作,我不想该工作被用户打断,因此,当计算工作开始时,我想启动一个UI线程,该线程产生一个模态对话框,用来显示计算工作的状态,当计算工作结束时,该模态对话框取消。这个应该怎么实现?能不能简单写几行代码或说说思路?谢谢!
PS:
1、上面的问题描述是我从我的应用开发问题简化而来的。实际情况比这复杂。如果仅仅是上面描述的问题,当然可以把计算工作放到worker线程中,而把模态对话框放到主线程中,而我的实际应用中不能采取这种方案。
2、如何往模态对话框中传递消息,使当前计算工作的状态能在模态对话框中显示?
3、如何在计算工作完成时,结束模态对话框?

解决方案 »

  1.   

    2、如何往模态对话框中传递消息,使当前计算工作的状态能在模态对话框中显示?设置全局的变量,在线程中改变值,通过UpdateWindow定时刷新模态对话框!3、如何在计算工作完成时,结束模态对话框?工作完成::PostMessage 结束对话框,当然前提是在创建的时候记录对话框句柄
      

  2.   

    sendmessage就可以了,不一定非要等返回