MFC 对话框应用程序添加热键(快捷键)

首先在testDlg.h(对话框头文件)中添加成员变量:

        HACCEL m_hAccel;//清空编辑框

打开资源视图,然后找到需要添加快捷键按钮所在的对话框,在“ IDD_TEST_DIALOG ” 上右键

根据第三步右键添加资源弹出 “ 添加资源 ” 弹窗,选择Accelerator选项,然后点击“ 新建 ”按钮。

在资源视图中会出现 “ Acclerator ” 文件夹, 第6步,打开 “ Acclerator ” 文件夹,在 “ IDR_ACCELERATOR2 ” 右键选择” 打开 “ 按钮

编辑自己的快捷键。我的为 Ctrl + D 快捷键。

在对话框.cpp 文件的初始化函数中添加:

m_hAccel = ::LoadAcceleratorsA(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR2));//初始化“编辑框”快捷键资源

 

添加对话框类向导中添加 虚函数 “ PreTranslateMessage(MSG* pMsg) ”

        /******************“编辑框”快捷键处理*********************/
       if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)
       {
              HACCEL hAccel = m_hAccel;  
              if (hAccel && ::TranslateAccelerator(m_hWnd,hAccel,pMsg)){
               /*******************按住Ctrl+D快捷键会清空“输出框”中的内容********************/
              if(GetDlgItem(IDC_ComOutPut) ==  GetFocus())
               {
                      GetDlgItem(IDC_ComOutPut)->SetWindowText("");
                      return TRUE;
               }

               /*******************按住Ctrl+D快捷键会清空“输入框”中的内容********************/
               if(GetDlgItem(IDC_ComInPut) ==  GetFocus())
               {
                      GetDlgItem(IDC_ComInPut)->SetWindowText("");
                      return TRUE;
               }
   
        }

       return CDialog::PreTranslateMessage(pMsg);

}

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值