原來覺得添加個快捷鍵就只要幾分鍾,上網搜索文章都寫得很模糊, 只有這邊文章不錯。
http://www.cplusplus.me/1263.html
http://blog.sina.com.cn/s/blog_4a632b4d0101m9li.html
MFC菜單添加快捷鍵
對於我這種編程大菜來講,不寫得極度明白加上圖解的話,始終是難以理解並且會馬上就忘的 。
文章來源:百度空間.伊瑞瑪的缺陷
①.資源視圖點右鍵->添加資源->Accelerator
MFC菜單添加快捷鍵1
②.Accelerator與要綁定的菜單ID一致,這個菜單是總菜單的ID,不是某一子菜單項
MFC菜單添加快捷鍵2
③.在Accelerator里面設置快捷鍵,ID為對應的子菜單ID
MFC添加菜單快捷鍵3.1
MFC添加菜單快捷鍵3.2
④.在對話框類 C***Dlg.h文件,類定義中加入變量HACCEL hAccel;
MFC菜單添加快捷鍵4
在C***Dlg.cpp文件中的OnInitDialog()函數,添加一句:
hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(菜單資源ID));我這里的ID是MENU
MFC菜單添加快捷鍵4.1
⑤.類視圖->選定對話框類->下方的屬性選項卡->上方的重寫選項卡->找到PreTranslateMessage->右方的下拉框<添加>PreTranslateMessage
MFC菜單添加快捷鍵5
⑥.系統自動跳轉到PreTranslateMessage(MSG* pMsg)函數,添加:
if(::TranslateAccelerator(GetSafeHwnd(),hAccel,pMsg))
return true;
MFC菜單添加快捷鍵6
⑦.編寫子菜單的響應函數:子菜單上點右鍵->添加事件處理程序->消息類型:COMMAND;類列表:選好指定的類
完畢!
