我如何做酷对话的东西(MFC)

时间:2012-06-06 17:08:25

标签: winapi visual-c++ mfc

我是否必须使用对话框或消息并不重要但我需要以某种方式执行以下操作:

我有一个基于对话框的MFC应用程序。主对话框调用创建线程的过程。对循环的调用是在while循环中。 (基本上它是一个文件处理程序 - 产生一个用于执行文件保存的线程。因此,为每个正在保存的文件生成一个线程。)

我正在暂停和恢复主线程。但是,我不知道如何让消息框/对话框显示“请稍等”,并且仍然有主对话框更新... 0.o

基本上,我想从用户交互中锁定主对话框(比如阻止他们选择任何内容或点击任何按钮),但我希望对话框上的进度条能够更新......

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

有点旧,但做的工作:  microsoft.com/msj/0297/wicked/wicked0297.aspx

答案 1 :(得分:0)

嗯,这是一个非常古老的应用程序。

您无需关注此示例;但你可以遵循这个想法。

您有两种选择: 在主对话框中创建进度条,禁用所有对话框但进度。启动线程传递对话框的句柄。从线程使用此句柄发送自定义消息以允许对话框推进进度。 另一条消息将通知对话框线程已完成并启用所有控件。

另一个选择是生成无模式对话框,启动线程传递无模式对话框的句柄和处理,如上所述。 将主对话框指针传递给无模式对话框,用于在无模式启动(OnInitDialog)时禁用和启用主对话框,并在销毁无模式对话框窗口之前启用接收线程完成消息。