基于对话框的MFC程序如何加载快速键

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:11:24
基于对话框的程序,
在资源里写好了对应的快速键列表,要如何加载到程序中?
我试着你单文档那样加载,怎么不好用哪?
请指点.谢谢了.

在对话框的类中加入成员HACCEL m_hAccel;
在OnInitialDialog中初始化 m_hAccel = LoadAccelerators( NULL, (LPSTR)IDR_ACCELERATOR );// IDR_ACCELERATOR就是快捷键资源的ID
用ClassWizard添加PreTranslateMessage函数,然后
BOOL CZCFPDlg::PreTranslateMessage(MSG* pMsg)
{
TranslateAccelerator( GetSafeHwnd(), m_hAccel, pMsg ); //翻译快捷键消息
TranslateMessage(pMsg);
DispatchMessage(pMsg);
return TRUE;
//return CDialog::PreTranslateMessage(pMsg); //去掉父类的消息翻译函数,以免引发错误
}