MFC菜单快捷键的应用

各种程序的菜单,大多数都有快捷键对应。所以,自己在做的时候也想加上。

第一步:在资源文件Accelerator中添加快捷键资源,此处的ID一定要与菜单项的ID一致。

第二步:在程序的主文件,一般是…view.h中声明一个HACCEL hAccel变量,在…view.cpp文件中的初始化函数(OnCreate(…))中添加如下代码

hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(菜单的资源ID));

第三步:重写PreTranslateMessage函数,添加这个函数的方法和添加消息响应函数是一样的。在函数加入如下代码:

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

 

 以后只要在Accelerator资源文件中添加快捷键就可以了。

最后记得自己添加菜单的OnCommond响应函数。 

版权声明:本文为wxfasdic原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wxfasdic/archive/2009/12/12/1622440.html