在windows程式設計中,與以往的面向過程的dos程式中最大的不同是,window採用的是訊息驅動機制,即程式中的事件都是由訊息來驅動的。
訊息機制的實現如:
在本例中我們呼叫執行緒完成http傳送任務,等待執行緒任務結束,傳送訊息給主線程,等待對話方塊響應顯示任務完成資訊字樣。
1,首先在global.h檔案中定義巨集 wm_update_msg 用來表示資料更新
//file global.h
#define wm_update_msg
wm_user+5
2,在對話方塊類標頭檔案中新增用來訊息響應成員函式
lresult onupdatestate(wparam wparam, lparam lparam);
並在cpp檔案中實現訊息響應函式
lresult calterparamdlg::onupdatestate(wparam wparam, lparam lparam)
3,在對話方塊類cpp檔案中新增訊息對映如紅色字型,表示對於訊息
wm_update_msg
用onupdatestate()
函式響應
//file dialog.cpp
begin_message_map(calterparamdlg, cdialog) //訊息--動作 對映表
on_wm_syscommand()
on_wm_paint()
on_wm_querydragicon()
//}}afx_msg_map
on_bn_clicked(idok, onbnclickedalter)
on_bn_clicked(idcancel, onbnclickedcancel)
on_message(wm_update_msg, onupdatestate) //訊息繫結 前者發生呼叫後者響應
on_wm_destroy()
end_message_map()
MFC 訊息機制
windows應用程式是通過訊息驅動的,在mfc軟體開發時,進行介面操作經常要用到訊息,通過訊息對應的處理函式來實現響應的操作。比如,使用者操作視窗,就會產生訊息,送給對應的訊息處理函式進行處理,對使用者的操作做出一些反應。mfc使用訊息對映機制來處理訊息,具體表現就是訊息和訊息處理函式一一對應的訊...
MFC訊息機制
一 訊息的分類 1 佇列訊息 非佇列訊息 l佇列訊息 windows 為每個應用程式都建立乙個訊息佇列,那麼通過訊息佇列,進行傳送的訊息都屬於佇列訊息 一般來說,由滑鼠 鍵盤產生的訊息都屬於佇列訊息。為什麼呢?想想,滑鼠 鍵盤事件都是由系統捕獲的,系統捕獲後要傳遞給應用程式,就一定的通過訊息佇列 l...
MFC訊息對映機制
一 mfc中採用的這種訊息處理機制成為 mfc訊息對映機制 乙個mfc訊息響應函式在程式中有三處相關資訊 函式原型,函式實現,關聯訊息和訊息響應函式的巨集。函式原型 標頭檔案cdrawview 兩個afx msg注釋巨集之間 訊息響應函式原型的宣告 afx msg void onlbuttondow...