圖文詳解MFC程序設置菜單快捷鍵


 

原來覺得添加個快捷鍵就只要幾分鍾,上網搜索文章都寫得很模糊, 只有這邊文章不錯。

 

http://www.cplusplus.me/1263.html

http://blog.sina.com.cn/s/blog_4a632b4d0101m9li.html

 

 

MFC菜單添加快捷鍵

對於我這種編程大菜來講,不寫得極度明白加上圖解的話,始終是難以理解並且會馬上就忘的 。

文章來源:百度空間.伊瑞瑪的缺陷

①.資源視圖點右鍵->添加資源->Accelerator

MFC菜單添加快捷鍵1

MFC菜單添加快捷鍵1

 

②.Accelerator與要綁定的菜單ID一致,這個菜單是總菜單的ID,不是某一子菜單項

 

MFC菜單添加快捷鍵2

MFC菜單添加快捷鍵2

③.在Accelerator里面設置快捷鍵,ID為對應的子菜單ID

MFC添加菜單快捷鍵3.1

MFC添加菜單快捷鍵3.1

 

MFC添加菜單快捷鍵3.2

MFC添加菜單快捷鍵3.2

④.在對話框類 C***Dlg.h文件,類定義中加入變量HACCEL hAccel;

MFC菜單添加快捷鍵4

MFC菜單添加快捷鍵4

 

C***Dlg.cpp文件中的OnInitDialog()函數,添加一句:

hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(菜單資源ID));我這里的ID是MENU

 

MFC菜單添加快捷鍵4.1

MFC菜單添加快捷鍵4.1

⑤.類視圖->選定對話框類->下方的屬性選項卡->上方的重寫選項卡->找到PreTranslateMessage->右方的下拉框<添加>PreTranslateMessage

 

MFC菜單添加快捷鍵5

MFC菜單添加快捷鍵5

⑥.系統自動跳轉到PreTranslateMessage(MSG* pMsg)函數,添加

   if(::TranslateAccelerator(GetSafeHwnd(),hAccel,pMsg))
return   true;

MFC菜單添加快捷鍵6

MFC菜單添加快捷鍵6

⑦.編寫子菜單的響應函數:子菜單上點右鍵->添加事件處理程序->消息類型:COMMAND;類列表:選好指定的類

完畢!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM