MFC中添加快捷键

原文地址: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个步骤基本上即可对工程中的菜单或者按钮添加热键。

你可能感兴趣的:(c/c++)