可能是對訊息機制的不熟悉,在我目前的認知里,mfc視窗類 首先要實體化一個物件,然后在呼叫他進行顯示。
我這有一個aDlg 類,其中存在 bDlg b ,cDlg c 兩個視窗類的物件。
我之前跟其它視窗都是通過全域變數實作資料互動, 但是現在專案需求無全域變數,,我想請教下
如何在b中獲得c的資料,,,
將c 句柄 強制型別轉化成訊息,然后發給b 可行嗎,,求賜教
uj5u.com熱心網友回復:
可以通過自定義訊息來互動定義訊息
建立訊息映射函式
SendMessage
uj5u.com熱心網友回復:
如果是視窗,你可以建立自定義訊息映射,然后其他視窗拿到視窗句柄后,就可以給這個視窗發送對應的訊息,同時帶上資料uj5u.com熱心網友回復:
a有b,c的指標,b也設定a的指標,c也設定a的指標,那b通過a可以使用c的指標
uj5u.com熱心網友回復:
在主類中定義子類的物件,統一通過主類指標呼叫保證每個類物件資料只有一份
uj5u.com熱心網友回復:
指標嘛,哥哥uj5u.com熱心網友回復:
指標,行程間通訊。指標是比較直接的方式,
行程間通訊的話有點復雜,需要傳遞視窗句柄以及制定協議,相對來說有點復雜,
uj5u.com熱心網友回復:
視窗間共享資料方式很多, 如果兩個視窗物件同時存在, 那么可通過指標, 或者訊息等等. 復雜點的還有socket, 檔案,管道共享記憶體.等等.不用全域變數, 那么可以使用單例模式, 或者直接使用靜態成員.
uj5u.com熱心網友回復:
同個指標進行傳遞資料,a模塊將指標傳給b模塊,b模塊傳給c模塊,這樣,每個模塊都可以訪問共同的資料,訊息或者呼叫都可以uj5u.com熱心網友回復:
可以在各個視窗中通過發送訊息uj5u.com熱心網友回復:
SendMessage/PostMessage,賦值變數,全域變數,共同讀寫同一檔案,什么的,都可以的啊uj5u.com熱心網友回復:
全域變數都可以實作,現在不用全域變數,那就用靜態變數來實作。
當然,視窗訊息是比較好的方法。
uj5u.com熱心網友回復:
訊息,管道,共享記憶體都可以。uj5u.com熱心網友回復:
1、全域變數2、讀寫檔案
3、socket
4、剪貼簿
uj5u.com熱心網友回復:
定義個專門管理資料的類,由這個類來共享uj5u.com熱心網友回復:
共享記憶體也行。uj5u.com熱心網友回復:
界面的話,感覺用訊息不錯。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/96778.html
標籤:基礎類
