MFC自定義消息

剛接觸MFC,不知道爲什麼在線程中更改畫面顯示總是報錯。請教高手後,知道線程中不能調用畫面相關的函數,

線程中只能處理和業務相關的內容。可以在子線程中發送系統消息或者是自定義的消息,然後在主線程中刷新界

面。

1、在消息映射表中添加紅色部分

BEGIN_MESSAGE_MAP(CAreaTicketDlg, CDialog)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
ON_WM_SIZE()
#endif
    ON_MESSAGE(WM_USER_UPDATESURPLUS, UpdateSurplus)
END_MESSAGE_MAP()

2、在頭文件中添加

    #define WM_USER_UPDATESURPLUS    (WM_USER + 103)

3、實現消息的響應函數

  LRESULT CAreaTicketDlg::UpdateSurplus(WPARAM wParam, LPARAM lParam) 
{
    //添加自己需要的代碼    
    return 0;
}

4、在合適的地方發送消息

::PostMessage(pThis->m_hWnd, WM_USER_UPDATESURPLUS, 0, 0);

上面內容是我在項目中用到的,僅僅是個例子而已。作爲備忘。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章