1. 程式人生 > >模組間通訊 --訊息機制

模組間通訊 --訊息機制

作者昨天遇到一個問題,就是其中一個對話方塊裡的樹節點雙擊時,需要通知另一個對話方塊中去通過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
最後感謝我們的大佬的技術指導。