加速键

1、在对话框的资源视图中插入加速键资源,将要实现的对应功能的控件ID和相关加速键绑定

2、在类视图的对话框类中添加加速键的句柄 HACCEL m_hAccel;

3、在OnInitDialog()中加载加速键资源

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

4、右击CAccelDlg添加虚函数PreTranslateMessage翻译加速键

  TranslateAccelerator(m_hWnd,m_hAccel,pMsg);

时间: 2024-09-29 12:41:15

加速键的相关文章

C++windows内核编程笔记day07_day08,可视化建菜单、加速键使用、绘图等

可视化操作创建的菜单,加载到窗口. 方法1:注册时指定菜单 wce.lpszMenuName=MAKEINTRESOURCE(IDR_MENUMAIN);//数字形式的资源ID转换为字符串形式的资源 方法2: //创建窗口时加载菜单资源 HMENU menumain= LoadMenu(g_hinstance,MAKEINTRESOURCE(IDR_MENUMAIN)); menumain 传入 CreateWindowEx();//倒数第三个参数 窗口指定小图标: 1.注册时指定 wce.hI

在MFC对话框程序中使用加速键

新建一个基于对话框的工程,添加一个按钮,修改按钮ID,这里为ID_BTN_OPENFILE,为按钮添加消息响应事件,这里我打开文件保存对话框: void CAccelDlg::OnBtnOpenfile() { // TODO: Add your control notification handler code here CFileDialog dlg (TRUE); dlg.DoModal (); } 为工程添加一个加速键资源,添加一条,注意ID要和按钮的ID相同,只有这样才能产生关联 为主

基于ATL的控件中使用加速键(AtlLoadAccelerators)

控件基本情况 控件本身+ CMainFrame + View 将所有的控件消息全部转发给CMainFrame来处理 BEGIN_MSG_MAP(CIECSChart) //CHAIN_MSG_MAP(CComControl<CIECSChart>) MESSAGE_HANDLER(MSG_SELECTION_CHANGED, MessageHandler) CHAIN_MSG_MAP(_Base) { MSG msg = { hWnd, uMsg, wParam, lParam }; if(!

MFC的UI更新机制和加速键的创建

近期在看<MFC Windows程序设计>这本书,正好看到更新菜单中的菜单项和加入菜单项的加速键这方面的内容,下面总一下总结. MFC提供的更新菜单项的机制例如以下: 通过消息映射表中的ON_UPDATE_COMMAND_UI宏.能够给单个的菜单项分配选中的成员函数作为更新处理函数,当用户点中一个下拉菜单时,MFC捕获随之发生的WM_INITMENUPOPUP消息,并调用菜单中的全部菜单项的更新处理函数. 每一个更新处理函数获得一个指向CCmdUI对象的指针,并利用该对象的成员处理函数更新菜单

MFC加速键的使用

MFC加速键的使用方法: 第一步: 在资源编辑器里面添加:Accelaretor资源,然后在其中添加加速键. 每个加速键都要有一个对应ID,一般格式如下: 响应ID 修饰键 键 键类型 ID_FILE_OPEN Ctrl O VURTKEY 第二步: 就是在.h文件中定义一个快捷键对象 HACCEL m_hAccel; 第三步: 在CPP文件加载加速键资源 第四步: 建立消息响应: 第五步: 在CPP文件当中实现:

[原]MFC中DIALOG(对话框)程序响应加速键(快捷键)

[原]MFC中DIALOG(对话框)程序响应加速键(快捷键) 2014-8-6阅读266 评论0 新建一个对话框程序,项目名为Test,删除默认确定,取消和静态文本框控件.添加一个按钮,Caption修改为“打开”,ID为IDC_Open,双击该按钮添加响应函数,响应函数如下: void CTestDlg::OnBnClickedOpen() { MessageBox("打开 被按下"); } 即程序运行之后点击“打开”则弹出一个对话框. 下面为这个按钮添加快捷键ctrl+o.左下角切

WPF中使用加速键(或称访问键)

原文:WPF中使用加速键(或称访问键) 在界面中有很多字母带下划线的加速键如下图中带下划线的字母,在WPF如何实现呢? 加速键示例 如何定义 WPF中定义比较简单,就是在控件的Text或Content属性中给做加速键的字母前加上下划线即可,例如下面用M做加速键: <Label Content="贵金属(_M):" /> 在新的最近几年新的操作系统上,这个加速键的下划线效果可能不会显示出来,按下ALT键就显示了. 没按ALT的效果,M下面没有下划线 按了ALT的效果,M下面显

MYSQL错误代码对照大全

0101 属于其他进程的专用标志. 0102 标志已经设置,无法关闭. 0103 无法再次设置该标志. 0104 中断时无法请求专用标志. 0105 此标志先前的所有权已终止. 0106 请将软盘插入驱动器 %1. 0107 后续软盘尚未插入,程序停止. 0108 磁盘正在使用或已由其他进程锁定. 0109 管道已经结束. 0110 系统无法打开指定的设备或文件. 0111 文件名太长. 0112 磁盘空间不足. 0113 没有其他可用的内部文件标识符. 0114 目标内部文件标识符不正确. 0

【转】《windows核心编程》读书笔记

这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和Windows实际机制可能有出入,但应该是合理的.开头几章由于我追求简洁,往往是很多单独的字句,后面的内容更为连贯. 海量细节. 第1章    错误处理 1.         GetLastError返回的是最后的错误码,即更早的错误码可能被覆盖. 2.         GetLastError可能用于描述成功的原因(CreatEvent)