VC6++给MFC的菜单栏添加快捷键

创建项目

新建一个【对话框(Dialog)】的程序。然后,New 一个菜单项。

VC6++给MFC的菜单栏添加快捷键_第1张图片

VC6++给MFC的菜单栏添加快捷键_第2张图片

添加菜单资源

  1. 资源选项卡中的AutoBackups resources右键,点击插入,选择Menu,选择新建

VC6++给MFC的菜单栏添加快捷键_第3张图片

  1. 在菜单栏中添加需要添加的数据。

VC6++给MFC的菜单栏添加快捷键_第4张图片
VC6++给MFC的菜单栏添加快捷键_第5张图片

  1. 在需要显示菜单栏的资源属性处添加菜单栏ID。

VC6++给MFC的菜单栏添加快捷键_第6张图片

新建快捷键

  1. 资源选项卡中的AutoBackups resources右键,点击插入,选择Accelerator,选择新建

VC6++给MFC的菜单栏添加快捷键_第7张图片

  1. 新建快捷方式(ID为菜单栏下需要使用快捷键的选项)。

VC6++给MFC的菜单栏添加快捷键_第8张图片
VC6++给MFC的菜单栏添加快捷键_第9张图片

添加相关代码

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

VC6++给MFC的菜单栏添加快捷键_第10张图片

  1. 在对话框类C***Dlg.CPP文件中,的OnInitDialog函数中添加如下代码。
// IDR_ACCELERATOR1 是快捷键的ID
hAccel = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1));

Alt

  1. 添加虚函数PreTranslateMessage()。

在类选项卡中的CAutoBackupsDlg上右键选择Add Virtual Function…,在New Virtual Functions中双击PreTranslateMessage

VC6++给MFC的菜单栏添加快捷键_第11张图片

  1. 在PreTranslateMessage()函数里面添加下面的代码:
if (::TranslateAccelerator(GetSafeHwnd(), hAccel, pMsg)) 
		return true;

VC6++给MFC的菜单栏添加快捷键_第12张图片

对菜单栏按钮绑定相应事件

  1. 在类选项卡中CAutoBackupsDlg上右键选择Add Windows Message Handler…,在Class or object to handle:中选择菜单栏按钮ID,在新建Windows消息消息/事件(N):中双击COMMAND,在弹出的Add Member Function选项卡中点击OK,并对其添加相应响应事件。

VC6++给MFC的菜单栏添加快捷键_第13张图片
VC6++给MFC的菜单栏添加快捷键_第14张图片

运行程序

VC6++给MFC的菜单栏添加快捷键_第15张图片

  1. 点击菜单栏备份按钮。

VC6++给MFC的菜单栏添加快捷键_第16张图片

  1. 键盘上点击** ctrl + b **。

VC6++给MFC的菜单栏添加快捷键_第17张图片

结束

你可能感兴趣的:(mfc)