windows訊息分為三類:
標準訊息:除了wm_command
之外,所有以
wm_開頭的訊息都是標準訊息,從
cwnd
派生的類都可以接受這類訊息。
例如:
在.h檔案中宣告的wm_rbuttondown標準的訊息命令訊息:來自選單、加速鍵或工具欄按鈕的訊息。這類訊息以wm_command//}afx_msg
declare_message_map()
在.cpp檔案中宣告的wm_rbuttondown標準的訊息
begin_message_map(cmenuview, cview)
//}afx_msg_map
end_message_map()
對應的函式
void cmenuview::onrbuttondown(uint nflags, cpoint point)
形式呈現,在
mfc中選單項的
id標識來區分各自的命令訊息,在
sdk中通過訊息的
wparam
引數識別,從
ccmdtarget
派生的類都可以接受。
通告訊息:由控制項產生的訊息,例如按鈕的單機、列表框的等,目的是為了向其父視窗通知事件的發生,這類訊息也是以wm_commamd
形式(並不是訊息一定以
wm開頭而是指通過
id和函式名稱相關聯的方式來定義此類訊息,例如on_bn_clicked(idok, &cdlgdrawtext::onbnclickedok)),從
ccmdtarget
派生的類可以接受到此種訊息。
注:因為cwnd
類是從ccmdtarget
類派生的,所有
cwnd
類和其派生類可以接受所有訊息,而
ccmdtarget
和其派生的類不能接受通告訊息。
windows訊息分類
windows中,訊息被分為以下三類 第一類 標準訊息 除了wm command之外,所有的wm 開頭的訊息都是標準訊息。從cwnd派生的類,都可以接收這類訊息。例如wm char wm close,其對應的訊息對映巨集分別是on wm char on wm close 第二類 命令訊息 來自選單 ...
關於Windows訊息的分類和使用場景
在windows開發中,我們經常會使用的自定義訊息,關於這個訊息的數值選取,還是有點講究的,今天就來具體看看 免得又掉溝裡了 windows訊息,可以分為如下幾類 這類訊息是被作業系統定義並使用的訊息。我們盡量不要在這個範圍內定義我們自己的訊息,因為它們會被作業系統使用並識別訊息的wparam和lp...
訊息的分類
1.佇列訊息和非佇列訊息 從訊息的傳送途徑上看,訊息分為兩種 佇列訊息和非佇列訊息。佇列訊息送到系統訊息佇列,然後到執行緒訊息佇列 非佇列訊息直接送給目的視窗過程。這裡,對訊息佇列闡述如下 windows維護乙個系統訊息佇列,每個gui執行緒有乙個執行緒訊息佇列。滑鼠 鍵盤事件由滑鼠或鍵盤驅動程式轉...