基于对话框的MFC 菜单项关联快捷键

基于对话框的MFC      菜单项关联快捷键

第一步:项目->添加资源Accelerator

基于对话框的MFC 菜单项关联快捷键_第1张图片

 第二步:在资源视图中打开Accelerator->IDR_ACCELERATOR1

填写ID(添加的菜单项ID)、修饰符、键、类型

基于对话框的MFC 菜单项关联快捷键_第2张图片

 第三步:关联加速器与菜单

1、在对话框类 C***Dlg.h文件,类定义中加入变量HACCEL hAccel;

基于对话框的MFC 菜单项关联快捷键_第3张图片

 

 2、在对话框类C***Dlg.CPP文件中,的OnInitDialog函数中添加如下代码:

hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),

MAKEINTRESOURCE(IDR_ACCELERATOR1));

//其中IDR_ACCELERATOR1为加速器ID

//基于对话框的MFC 菜单项关联快捷键_第4张图片

基于对话框的MFC 菜单项关联快捷键_第5张图片

 3、添加虚函数PreTranslateMessage().

类向导->PreTranslateMessage

基于对话框的MFC 菜单项关联快捷键_第6张图片

 4、在PreTranslateMessage()函数里面添加下面的代码:

      if (::TranslateAccelerator(GetSafeHwnd(), hAccel, pMsg))

              return true;

基于对话框的MFC 菜单项关联快捷键_第7张图片

至此,菜单项与快捷键关联,继续编译菜单项响应函数即可。

你可能感兴趣的:(MFC学习笔记,c++,mfc)