各种程序的菜单,大多数都有快捷键对应。所以,自己在做的时候也想加上。
第一步:在资源文件Accelerator中添加快捷键资源,此处的ID一定要与菜单项的ID一致。
第二步:在程序的主文件,一般是...view.h中声明一个HACCEL hAccel变量,在...view.cpp文件中的初始化函数(OnCreate(...))中添加如下代码
hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(菜单的资源ID));
第三步:重写PreTranslateMessage函数,添加这个函数的方法和添加消息响应函数是一样的。在函数加入如下代码:
if
(::TranslateAccelerator(GetSafeHwnd(),hAccel,pMsg))
return true ;
return true ;
以后只要在Accelerator资源文件中添加快捷键就可以了。
最后记得自己添加菜单的OnCommond响应函数。