关闭

MFC中添加快捷键

2108人阅读 评论(0) 收藏 举报
分类:
原文地址:MFC中添加快捷键作者:zhangzhe

MFC中添加快捷键

基于DialogMFC工程中如何添加快捷键呢?大致分为以下几个步骤:

1. 在资源视图中添加资源,选择"Accelerator"选项新建即可;

2. 打开新建的文件夹下的"IDR_ACCELERATOR1"中编辑,其中包括ID、修饰符、键、类型。ID中选择你要添加快捷键的菜单、按钮的ID编号,修饰符中选择你是否要使用组合键,如:AltAlt+Shift等等,键中选择你要使用什么样的虚拟键码,类型中选择VK形式或者是ASCII形式。

3. 在你的对话框的头文件中添加快捷键变量,如HACCEL m_hAcc

4. 在你的对话框的源文件的OnInitDialog函数中加载快捷键,如:

HACCEL m_hAcc=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1)); 

5. 重载函数PreTranslateMessage,使用类向导,重载虚函数PreTranslateMessage

如:BOOL CVideoMonitorDlg::PreTranslateMessage(MSG* pMsg)

{

    if (WM_KEYFIRST<=pMsg->message&&pMsg->message<= WM_KEYLAST) 

   

        HACCEL hAccel=m_hAcc; 

        if (hAccel && ::TranslateAccelerator(m_hWnd, hAccel, pMsg)) 

        return TRUE;

   

    return CDialogEx::PreTranslateMessage(pMsg);

}

6. 通过以上5个步骤基本上即可对工程中的菜单或者按钮添加热键。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22075次
    • 积分:322
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:14篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论