資源描述:
《VC中自定義消息實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、-----用心做文檔值得下載值得擁有-------VC中自定義消息實(shí)現(xiàn)在VC項(xiàng)目開(kāi)發(fā)中,很多時(shí)候需要自己定義消息進(jìn)行事務(wù)處理。上次也剛好有同學(xué)問(wèn)及,這里綜合網(wǎng)絡(luò)上的一些資料,集中起來(lái)供參考。u??????自定義消息我們可以通過(guò)一下兩種方法來(lái)自定義一個(gè)消息:1)?方法一Step1:使用WM_TASKBARCREATED來(lái)確定一個(gè)沒(méi)有被windows本身?yè)屨嫉南⒅?,在想添加消息文件中添加代碼:constUINTWM_USERDEFMSG=::RegisterWindowMessage(_T("UserDefMsg"));Step2:定義消息的處理過(guò)程
2、:在處理消息的類(lèi)(如Dlg類(lèi)或者M(jìn)ainFrame等)添加消息處理函數(shù)聲明:afx_msgLRESULTOnUserDefMsg(WPARAMwParam,LPARAMlParam);在實(shí)現(xiàn)文件中添加消息處理實(shí)現(xiàn),這里給出一個(gè)實(shí)現(xiàn)例子:LRESULT××××::OnUserDefMsg(WPARAMwParam,LPARAMlParam)//××××代表處理該消息的類(lèi)名{MessageBox("響應(yīng)了自定義的消息,^_^","自定義消息響應(yīng)",MB_ICONQUESTION
3、MB_OK);return0;}-----用心做文檔值得下載值得擁有---
4、----Step3:添加消息處理宏,在處理該消息的類(lèi)的消息宏中添加自定義消息的宏,即在BEGIN_MESSAGE_MAP代碼塊中添加代碼:ON_REGISTERED_MESSAGE(WM_USERDEFMSG,OnUserDefMsg)自定義消息完畢。2)?方法二Step1:定義消息值,這里不通過(guò)RegisterWindowMessage獲取,而是自定義方式實(shí)現(xiàn),在想添加消息文件中添加代碼:#defineWM_USERDEFMSG(WM_USER+101)Microsoft推薦自定義消息值至少為WM_USER+100。Step2:同方法一中實(shí)現(xiàn);S
5、tep3:同方法一中,但是宏名稱(chēng)改為ON_MESSAGE。u??????發(fā)送消息按照上面方式我們已經(jīng)自定義了消息,并為該消息實(shí)現(xiàn)了簡(jiǎn)單的處理過(guò)程,這里就通過(guò)發(fā)送消息獲得自定義消息的響應(yīng)。在要觸發(fā)自定義消息地方添加代碼:::SendMessage(GetSafeHwnd(),WM_USERDEFMSG,0L,0L);這樣你就觸發(fā)了該自定義消息,并將得到提示對(duì)話框顯示。-----用心做文檔值得下載值得擁有-------