2009-09-17 31 views
0

C++事件/通知有沒有列表&缺省處理方法列表。 例如,知道默認情況下,HDN_DIVIDERDBLCLICK通知通常由CWnd :: OnLButtonDblClk方法處理很有用。C++事件/通知和缺省處理方法列表

當您爲通知編寫您自己的處理程序時,這會讓您更容易找到正確的方法。

我目前找不到任何簡單的方法來查找此信息。

謝謝。

回答

0

This page MSDN列出了WM_XXX消息和相應處理程序方法的簽名。

對於控件發出的通知消息,您需要查看控件的文檔頁面。因此,例如,HDN_DIVIDERDBLCLICK的文檔位於CHeaderCtrl的reference page(也參見this page,其中簡要說明它們由OnChildNotify處理函數處理)。

+0

謝謝,這不是一個糟糕的開始。可惜它沒有跟進所有的通知,但它絕對值得一個書籤。 – Andrew 2009-09-17 17:03:01

+0

@neeul,我認爲大多數通知的文檔都在發佈它們的控件的頁面上,所以像HDN_DIVIDERDBLCLICK這樣的內容就會出現在CHeaderCtrl的頁面上。 – 2009-09-18 14:04:04

+0

@尼克,啊,是的,你說得對。謝謝你的幫助。也許如果你可以用這個信息編輯你的主帖,那應該會讓其他搜索者更容易找到有用的信息。 – Andrew 2009-09-18 14:21:59

0

我擔心這個問題可能並不存在您可以查詢的應用程序的當前處理程序數據的完整圖形。

我不知道在過去幾年裏它是否改變了底層實現,但以前的MFC已經將消息處理器分配編碼爲靜態數據數組。

從基本數組中,它會將消息轉交給相應的用戶代碼方法。

但是,在這一點上,用戶代碼方法可以處理或切換到處理消息的其他代碼。

類似地,應用程序可以爲此代碼定義整個控制結構。

注入函數或其他系統變化也可能會改變這種行爲(認爲熱鍵管理器,這種事情)。

聽到最近有人知道某些MFC-fu的人會很酷。