Windows訊息分類

2021-06-23 03:25:00 字數 1026 閱讀 2279

windows訊息分為三類:

標準訊息:除了wm_command

之外,所有以

wm_開頭的訊息都是標準訊息,從

cwnd

派生的類都可以接受這類訊息。

例如:

在.h檔案中宣告的wm_rbuttondown標準的訊息

//}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)

命令訊息:來自選單、加速鍵或工具欄按鈕的訊息。這類訊息以wm_command

形式呈現,在

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執行緒有乙個執行緒訊息佇列。滑鼠 鍵盤事件由滑鼠或鍵盤驅動程式轉...