加速鍵的使用
第一步:創建加速鍵表
在Resource試圖中添加一個Accelerator資源表,在表中根據條件輸入值。
第二步:在類中添加一個HACCEL的變量
HACCEL m_hAccel;
第三步:在初始化函數裏面加載對應的加速鍵表
m_hAccel= ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
其中IDR_ACCELERATOR1表示加速鍵表的ID,別弄錯
第四步:添加虛函數PreTranslateMessage
BOOL CAAADlg::PreTranslateMessage(MSG* pMsg)
{
if(hAccel != NULL)
{
if (TranslateAccelerator(m_hWnd, hAccel, pMsg))
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
第五步:創建處理的函數,例如在頭文件中定義
void MyEnter();
在.cpp文件中
CXXXDlg::MyEnter()
{
…………
}
第六步:添加消息響應
ON_COMMAND(ID_MY_ENTER,myenter)
注意ID與函數名相對應