【问题标题】:Receive PostMessage messages for MFC Dialog接收 MFC 对话框的 PostMessage 消息
【发布时间】:2013-08-22 16:10:06
【问题描述】:

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

我在网上搜索过(Link #1Link #2Link #3),但我找不到一个可以理解的代码示例来实现我自己的消息监听器。在标题中,我可以看到一些疯狂的定义语句(以DECLARE_MESSAGE_MAP() 开头),看起来可能与它有关,但我无法弄清楚。

非常感谢任何帮助。谢谢。

【问题讨论】:

  • 确保使用WM_APP范围内的消息。

标签: c++ multithreading mfc


【解决方案1】:

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

http://vcfaq.mvps.org/mfc/12.htm

【讨论】:

猜你喜欢
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多