c++ - 在工作线程完成 MFC 时禁用控制变量

标签 c++ multithreading mfc

我正在使用 Visual Studio 2015 开发一个基于对话框的 MFC 应用程序。基本上我的问题是我有一个按钮,在用户选择了必要的输入(.csv 文件将被解析和放入不同的 vector 中)。为了避免复杂化,我决定在工作线程完成计算之前,用户将无法按下此按钮或输入按钮。我尝试了 WaitforSingleObject 选项,但没有达到在等待工作线程完成时保持主线程或 MFC 应用程序运行的目的。是否有任何其他解决方法可以解决此问题?感谢您的帮助。

最佳答案

您的工作线程可以将完成消息发回给您的 UI 线程。在这种情况下,您的 UI 线程不需要特殊的消息循环,而是您的窗口过程会在收到该消息时重新启用按钮。

关于c++ - 在工作线程完成 MFC 时禁用控制变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33853598/

相关文章:

c++ - 如何用c/c++最方便的处理jpg图片?

c++ - 为外部项目设置 RPATH?

Python + split + http : Error - httplib. ResponseNotReady

java - 检测正在运行的应用程序中是否存在线程争用

c++ - 在对象的 std::list 中快速搜索和删除

c++ - 有没有办法一致地对类型模板参数进行排序?

Java单线程执行和cpu缓存

c++ - OnSelChanged 只触发一次

c++ - 在 C++/MFC 中混合和匹配类

mfc - CString最大长度