mfc 设置帮助快捷键(一)

来源:互联网 发布:mac系统如何安装office 编辑:程序博客网 时间:2024/06/05 08:20

在mfc工程中已经设置了按钮ID_MENU_HELP,单击可以打开对应的chm帮助文件。

现在尝试设置快捷键F1,打开帮助文件。尝试了几种方法,先介绍第一种。

第一种:设置Accelerator(更加通用)

1、在资源视图中,右键—》添加资源—》资源类型选择为 Accelerator—》新建。


2、打开资源视图中新建的Accelerator—》IDR_ACCELERATOR1,

将它的ID改为需要快捷设置的ID(此处为ID_MENU_HELP),键改为VK_F1。



3、在对话框Dlg.cpp的OnInitDialog函数中加入

// IDR_ACCELERATOR1 是加速键的IDhAccel = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1));

在对话框Dlg.h中添加:

public:HACCEL hAccel; // 快捷键

4、添加PreTranslateMessage函数:

打开资源视图下dialog中的对话框,右键-->类向导—》虚函数,找到PreTranslateMessage—》编辑代码。

BOOL CSoftwareDlg::PreTranslateMessage(MSG* pMsg){// TODO: 在此添加专用代码和/或调用基类if (::TranslateAccelerator(GetSafeHwnd(), hAccel, pMsg))  // 快捷键return true;return CDialogEx::PreTranslateMessage(pMsg);}

此时打开项目就可以响应快捷键了

但是这里还有一个问题:

F1是系统的默认快捷键,按照上述方法之后会响应两个函数,一个是我们自行设置的帮助,另外一个就是系统的。

为了只显示我们设置好的,需要把后者屏蔽(再下一篇博客中会谈到)





原创粉丝点击