C++ 接收MFC对话框的PostMessage消息

C++ 接收MFC对话框的PostMessage消息,c++,multithreading,mfc,C++,Multithreading,Mfc,我有一个对话框,用户可以输入信息,然后按下Go按钮。当他们按下此按钮时,我禁用表单元素(按钮等),并使用AfxBeginThread(…)创建工作线程。工作线程完成后,我希望它向UI线程发送一条消息,以便重新启用表单。我正在使用::PostMessage(…)发送消息,但找不到如何拦截这些消息 我在网上搜索过(,),但找不到一个可以理解的代码示例来实现我自己的消息侦听器。在标题中,我可以看到一些疯狂的define语句(从DECLARE\u MESSAGE\u MAP()开始),看起来可能与此有关

我有一个对话框,用户可以输入信息,然后按下Go按钮。当他们按下此按钮时,我禁用表单元素(按钮等),并使用
AfxBeginThread(…)
创建工作线程。工作线程完成后,我希望它向UI线程发送一条消息,以便重新启用表单。我正在使用
::PostMessage(…)
发送消息,但找不到如何拦截这些消息

我在网上搜索过(,),但找不到一个可以理解的代码示例来实现我自己的消息侦听器。在标题中,我可以看到一些疯狂的define语句(从
DECLARE\u MESSAGE\u MAP()
开始),看起来可能与此有关,但我无法理解


非常感谢您的帮助。谢谢。

消息映射是一个表格。对于您感兴趣的每条消息,它都包含消息和指向消息处理程序函数的函数指针。要将自定义消息添加到地图,请将ON_消息条目添加到表中。从辅助线程执行此操作的教程示例如下:


消息映射是一个表。对于您感兴趣的每条消息,它都包含消息和指向消息处理程序函数的函数指针。要将自定义消息添加到地图,请将ON_消息条目添加到表中。从辅助线程执行此操作的教程示例如下:


请确保使用该范围内的邮件。请确保使用该范围内的邮件。我发现您链接到的文章有错误。它使用
UINT
LONG
在应该使用
WPARAM
LPARAM
的地方。我链接到的MSDN文章有效。谢谢你的帮助。我发现你链接的文章有一个错误。它使用
UINT
LONG
在应该使用
WPARAM
LPARAM
的地方。我链接到的MSDN文章有效。谢谢你的帮助。