首先在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);
}