自定義ON NOTIFY訊息

2021-08-19 18:27:42 字數 887 閱讀 4396

平時,我們用的自定義訊息都是on_message訊息,但是這種訊息無法獲取指定的控制項id,所以,下面我要自定義的是on_notify訊息。可以指定控制項進行訊息響應。

第一步:定義訊息

#define  wm_notify   wm_user+100

第二步:定義該訊息的傳送

(也就是當程式執行到哪一處時,就要是用該訊息傳送內容的位置)

nmhdr   nmhdr ;

nmhdr.hwndfrom = this->m_hwnd;

nmhdr.idfrom = 0;

nmhdr.code = wm_notify;

::sendmessage(getparent()->getsafehwnd() , wm_notify ,(wparam)nmhdr.idfrom , (lparam)&nmhdr);

第三步:在使用的位置進行宣告、使用

1:定義該訊息

begin_message_map(csliderinfodlg, cdialogex)

on_notify(wm_notifyu , idc_slider_type , &csliderinfodlg::onnotifymessage)

end_message_map()

2:宣告

afx_msg void onnotifymessage ( nmhdr* pnmher, lresult  *presult );//獲取按鈕控制項的訊息
3:使用

void csliderinfodlg::onnotifymessage(nmhdr* pnmher, lresult  *presult)

自定義訊息

自定義訊息的響應和資源訊息的響應有很多類似之處 資源訊息的響應是以資源的id號作為標識的 自定義的訊息要自己宣告訊息id。一 定義 第一步要宣告訊息 definewm mymsgwm user 200 第二步要在類宣告中宣告訊息對映 declare message map 第三步要在類宣告中定義訊息...

VC自定義訊息

示例 主對話方塊a edit控制項 副對話方塊b edit控制項 將b中edit內容在其銷毀後,顯示在a中edit中 1 自定義訊息 define wm mymsg wm user 100 2 b cpp afxgetmainwnd sendmessage wm mymsg,wparam 0,lpa...

MFC自定義訊息

訊息機制是windows的典型執行機制,在mfc中有很多的訊息如wm btn 等。但是在有些情況下我們需要自定義一些訊息去做一些我們需要的功能,mfc的嚮導不能幫助我們做到這一點,我們可以通過新增相應的 去完成這個功能。新增自定義訊息操作如下 1.建立mfc工程,如基於對話方塊的應用程式,test。...