1. 程式人生 > >執行緒中更新視窗不能直接呼叫UpdateData函式 的解決辦法

執行緒中更新視窗不能直接呼叫UpdateData函式 的解決辦法

李群會回覆於15日21點16分 

LRESULT OnUpdateData(WPARAM wParam, LPARAM lParam);加到你的標頭檔案中去

tonygesong回覆於15日21點31分 

1.自定義訊息: 
#define WM_UPDATEDATA  10000+1  // 更新介面 

2.新增訊息對映: 
ON_MESSAGE(WM_UPDATEDATA, OnUpdateData) 

3.定義訊息處理函式: 
LRESULT CDlg::OnUpdateData(WPARAM wParam, LPARAM lParam) 

UpdateData(wParam); 
return 0; 


4.線上程中傳送訊息: 
    首先獲取主視窗的指標 

    CDlg* pMain = (CDlg*)param; 

    SendMessage(pMain->m_hWnd, WM_UPDATEDATA, FALSE, FALSE); 

xiaozhu123回覆於15日21點43分 

不要線上程中操作介面,可以向視窗發訊息,用PostMessage或是SendMessage都可以,發自定義訊息