基于对话框的MFC 菜单项关联快捷键
第一步:项目->添加资源Accelerator
第二步:在资源视图中打开Accelerator->IDR_ACCELERATOR1
填写ID(添加的菜单项ID)、修饰符、键、类型
第三步:关联加速器与菜单
1、在对话框类 C***Dlg.h文件,类定义中加入变量HACCEL hAccel;
2、在对话框类C***Dlg.CPP文件中,的OnInitDialog函数中添加如下代码:
hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDR_ACCELERATOR1));
//其中IDR_ACCELERATOR1为加速器ID
//
3、添加虚函数PreTranslateMessage().
类向导->PreTranslateMessage
4、在PreTranslateMessage()函数里面添加下面的代码:
if (::TranslateAccelerator(GetSafeHwnd(), hAccel, pMsg))
return true;
至此,菜单项与快捷键关联,继续编译菜单项响应函数即可。