MFC中为菜单或按钮添加快捷键功能

简介: 1、新建一快捷键资源,ACCELERATOR,关联相应的ID号,下图所示中,其中,第一个ID为自定义快捷键ID,按CTRL+R,此时响应该ID以应的消息响应函数, 第二个ID为菜单ID,此时按CTRL+V,调出ID_NETWORK_PING菜单对应的响应函数。

1、新建一快捷键资源,ACCELERATOR,关联相应的ID号,下图所示中,其中,第一个ID为自定义快捷键ID,按CTRL+R,此时响应该ID以应的消息响应函数,

第二个ID为菜单ID,此时按CTRL+V,调出ID_NETWORK_PING菜单对应的响应函数。

 

 

2、声明一个全局变量HACCEL  hAccTable;

3、在OnInitDialog()函数中,添加如下代码:

hAccTable=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));

 

4、添加PreTranslateMessage重载函数,在函数中,添加如下代码:

BOOL CComDlg::PreTranslateMessage(MSG* pMsg)
{
 
 if (::TranslateAccelerator(GetSafeHwnd(),hAccTable,pMsg))
 {
  return true;
 }

 return CDialog::PreTranslateMessage(pMsg);
}

 

5、此时假如如上述快捷键菜单中,第一个ID对应的自定义ID,对应的响应函数如下:

void CComDlg::OnAccelerator()
{
 system("regedit");
}

 

第二个ID为网络测试对话框程序,

 

那么编译成功后,按CTRL+R调出注册表(regedit),按CTRL+V,调出网络测试对话框。

技术改变世界! --狂诗绝剑
目录
相关文章
|
8月前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
143 0
14 MFC - 普通按钮 CButton
14 MFC - 普通按钮 CButton
58 0
|
5月前
|
Shell
自定义右击菜单,添加指定打开文件方式
自定义右击菜单,添加指定打开文件方式
88 0
|
8月前
win32编程 -- 系统菜单及右键菜单
win32编程 -- 系统菜单及右键菜单
98 1
|
Java
swing做一个简单的记事本(有菜单的样式、右键弹出菜单、以及实现“新建”和“打开”功能)
swing做一个简单的记事本(有菜单的样式、右键弹出菜单、以及实现“新建”和“打开”功能)
364 0
swing做一个简单的记事本(有菜单的样式、右键弹出菜单、以及实现“新建”和“打开”功能)
MFC学习——如何在MFC对话框中添加一个显示网页的窗口(用vs2017以下版本,vs2017不支持)
MFC学习——如何在MFC对话框中添加一个显示网页的窗口(用vs2017以下版本,vs2017不支持)
415 0
VC如何打开代码对应的界面编辑窗口
VC如何打开代码对应的界面编辑窗口
165 0
VC如何打开代码对应的界面编辑窗口
在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图)。 1. 首先,打开在资源视图的String Table并添加两个ID:ID_INDICATOR_NISH 和ID_INDICATOR_TIME,如下图 2.
1189 0

热门文章

最新文章