作者昨天遇到一个问题,就是其中一个对话框里的树节点双击时,需要通知另一个对话框中去通过SDK获取数据库中的信息(不同的对话框获取不同的数据信息),并且该对话框中有一个map表存有多个对话框的基类指针。这时怎么通过基类的指针实现调用另一个或多个对话框的不同实现呢?这时我们可以借助消息机制来解决该问题。思路如下:基类在双击的时候发送自定义消息,不同的对话框处理根据情况处理该消息。大致的步骤如下:
1.首先定义一个自定义消息ID,注意该消息的ID必须比WM_USER大,且ID不能重复,因为一个WM_USER以下都为系统消息
#define WM_MYMSG_UPDATA WM_USER+1
2.在对应的需要通知另一个模块的时候,通过PostMessage/SendMessage,发送该消息。当然首先需要获取另一个对话框的指针。
3.在对应的模块中通过类向导,添加自定义消息处理。
大致添加方法可以参考下面的链接
https://jingyan.baidu.com/article/d5c4b52bc79d00da560dc59b.html
最后感谢我们的大佬的技术指导。