2012-01-30 88 views

回答

2

是的,這是設計。 OnMenuSelect method對應於WM_MENUSELECT message,當鼠標懸停在菜單項上時發送。

爲了處理用於菜單項的點擊事件,則需要處理WM_COMMAND message,這是

發送當用戶選擇從菜單,當控制發送通知消息的命令項到其父窗口,或加速器擊鍵被翻譯時。

在MFC而言,這意味着重寫OnCommand method

框架調用,當用戶從一個菜單中選擇項,當子控制將通知消息發送該成員函數,或當加速器擊鍵被翻譯。

+0

我試圖重寫「按需」,但我不能添加「ON_COMMAND」像messagemap「ON_WM_MENUSELECT」(顯示錯誤 - 類型名稱是不允許的) – 2012-01-30 07:09:48

+0

@sherin:這將是'ON_WM_COMMAND' ...不知道你是否有打字錯誤。像往常一樣,如果獲得正確的名稱並不能解決問題,請在您的問題中張貼適用的代碼。 – 2012-01-30 07:11:30

+0

當我試着ON_WM_COMMAND()時,它是未定義 – 2012-01-30 07:14:22