我有一个对话框,用户可以在其中输入信息,然后按“执行”按钮。当他们按下此按钮时,我禁用表单元素(按钮等)并使用AfxBeginThread( ... )
创建工作线程。工作线程完成后,我希望它向UI线程发送消息,以便重新启用表单。我正在使用::PostMessage( ... )
发送消息,但我找不到如何截取这些消息。
我已经在线搜索了Link #1,Link #2,Link #3)但我找不到一个可理解的代码示例来实现我自己的消息监听器。在标题中我可以看到一些疯狂的定义语句(以DECLARE_MESSAGE_MAP()
开头),看起来它可能与它有关,但我无法弄明白。
非常感谢任何帮助。感谢。
答案 0 :(得分:3)
消息映射是一个表。对于您感兴趣的每条消息,它包含消息和指向消息处理函数的函数指针。要向地图添加自定义消息,请向表中添加ON_MESSAGE条目。从工作线程执行此操作的教程示例如下: