参考:
首先,新建一个快捷键资源。如图
此处的,IDC_BUTTON1是一个按钮的ID,即此快捷键与该按钮关联。
1. 声明成员变量 HACCEL hAccel;
2. 在OnInitDialog函数中 LoadAccelerators 加载快捷键资源
hAccel = ::LoadAccelerators(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR1));
3. 重写虚函数 PreTranslateMessage, 添加
// if (::TranslateAccelerator(GetSafeHwnd(), hAccel, pMsg))
// return true;
BOOL CAcceleratorDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (::TranslateAccelerator(GetSafeHwnd(), hAccel, pMsg)) return true; return CDialogEx::PreTranslateMessage(pMsg); }
4. 添加Button1的点击响应函数即可。