【基礎】比較常見的訊息

QingLiXueShi發表於2015-11-05

1、WM_CONTEXTMENU

它響應的不是滑鼠右鍵按下訊息,也不是滑鼠右鍵彈起訊息而是滑鼠右鍵依次按下彈起後觸發的訊息。

注意:若程式還響應了滑鼠右鍵按下的訊息OnRButtonDown,且在此響應函式中有模態對話方塊出現,則不會響應WM_CONTEXTMENU訊息。比如,有AfxMessageBox,關閉模態對話方塊後,不再響應右鍵選單。

原因在於:右鍵選單是在右鍵依次按下彈起時才被觸發的。右鍵按下,模態對話方塊產生時,訊息只被傳送到了模態對話方塊,因此,滑鼠彈起訊息未被髮送到主視窗,因此,不會響應右鍵選單訊息。

如果在右鍵彈起響應函式OnRButtonUp中響應模態對話方塊訊息的話,右鍵選單訊息不會被影響。原因是:此時滑鼠按下、彈起訊息均已被髮送到了主視窗,因此程式在關閉模態對話方塊後,仍會響應右鍵選單訊息。

相關文章