回覆列表
-
1 # tupis6227
-
2 # lanfengz3
BOOL CDlgMsg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case VK_F7:
MessageBox(_T("F7"));
break;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
第一步:在資源檢視窗中右鍵插入Accelerator資源,然後修改Accel屬性裡的快捷鍵;第二步:宣告一個HACCEL全域性變數,在OnInitDialog()中新增hACCTable=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE("快捷鍵表ID"))第三步:新增PreTranslateMessage相應函式,新增程式碼if(::TranslateAccelerator(m_hWnd,hAccTable,pMsg))//hAccTable為HACCEL全域性變數 { return true; }第四步:為快捷鍵新增COMMAND響應函式,函式內容就是呼叫你的按鈕相應函式