【发布时间】:2011-05-06 23:35:04
【问题描述】:
一个 MFC 程序(带有表单视图的单个文档)有一些子线程可以访问 MFC GUI 上的一些控件。 在所有子线程退出后希望主线程退出。 我尝试通知子线程退出并在 OnDestroy 处理程序中等待它们。 然而,这里有一个难题。 因为子线程可能会在 OnDestroy 处理程序中阻塞主消息循环时 SendMessage GUI 控件。这是一个僵局。
我有一个解决这个问题的想法:我希望有一种方法可以处理 MFC 的 WM_CLOSE 或 WM_QUIT,并使用像 UDM_QUIT 这样由子线程发送到主线程的自定义消息来执行实际退出,同时我没有t 等待子线程在 OnDestroy 处理程序中退出。但我不是 MFC 大师,也不知道如何实现。
【问题讨论】:
-
从拥有线程以外的线程访问控件是一个错误。您需要修复该错误,而不是尝试解决它。
标签: mfc