【问题标题】:How Do I Do Cool Dialog Stuff (MFC)我如何做很酷的对话 (MFC)
【发布时间】:2012-06-06 17:08:24
【问题描述】:

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

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

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

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

有什么想法吗?

【问题讨论】:

标签: winapi visual-c++ mfc


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    您无需遵循此示例;但是你可以按照这个想法。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多