最近在做一個MFC對話框程序。情況是這樣的,
一、程序主對話框上,點擊按鈕,打開一個非模態的子對話框窗口,子對話框裡執行一些操作後需要把操作的結果跟新到主對話框上。想到兩種方式:
1.子對話框窗口類中保存主對話框指針,然後在子對話框窗口類利用該指針更新主對話框界面
2.自定義消息,利用SendMessage或PostMessage函數發送消息到主對話框,函數的lParam參數保存操作的結果。主對話框收到消息後更新界面。
請問哪一種方式好。
二、子對話框類中創建了一個線程,線程裡執行一些操作,操作結果需要更新到子對話框界面上。還是同樣的問題,是傳遞指針好,還是利用消息好。之前學過C#,C#裡面,非UI線程無法直接訪問UI線程的界面元素。
懇請各位路過的大神指導一下
第一個,消息好。第二個問題我覺得只能用消息,不能用指針,因為跨了線程了,應該可能會產生同步問題。總而言之,消息是安全的數據傳輸方式。