【发布时间】:2013-12-10 06:26:11
【问题描述】:
我的应用程序基于串行通信。 它有主对话框窗口,从中我们可以选择三个选项泵、crind 和 kiosk。 当我选择任何一个说泵时,就会调用带有进度条的小对话框(CommonResponse),并从命令文件中获取泵的时间。这个小窗口位于作为工作线程创建的单独线程上。 现在我希望这个带有进度条的小窗口在主线程上,但在后台串行通信应该正在进行......如何做和这样做的步骤?
这样做的一个选项是代替进度条,串行通信在单独的线程上。但是现在这是非常耗时的过程,因为所有东西都准备好了,只有我们想要更改的这部分...... 提前谢谢你!!!
【问题讨论】:
-
我知道你想要一个工作线程中的窗口吗?馊主意。除了在非常非常罕见的情况下,这似乎不是你的情况,所有 GUI 交互都应该在主线程中。然后任何工作线程通过消息与其通信,主线程更新 GUI,就像 xMRi 在回答中所说的那样。查看this link 了解如何操作,解释为什么工作线程不能接触 GUI,等等。
标签: multithreading mfc modal-dialog