【框架 |
您所在的位置:网站首页 › alt加空格组合键可以 › 【框架 |
1添加“accelerator”资源
2、添加键值
3、添加处理事件 函数声明 afx_msg void OnAcceleratorCtrlO();消息映射 ON_COMMAND(ID_ACCELERATOR_CTRL_O, &CDlgMain::OnAcceleratorCtrlO)函数处理 void CDlgMain::OnAcceleratorCtrlO() { // }4加载资源 在添加快捷键对象 class CDlgMain: public CDialog { HACCEL m_hAccel; };在窗口的构造函数中加载 CDlgMain:: CDlgMain (CWnd* pParent /*=NULL*/) : CDialog (CDlgMain::IDD, pParent) { m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1)); }5、激活快捷键,重写PreTranslateMessage函数,添加对快捷键处理的调用 virtual BOOL PreTranslateMessage(MSG* pMsg) ; BOOL CDlgMain::PreTranslateMessage( MSG* pMsg ) { if (m_hAccel) { if (::TranslateAccelerator(m_hWnd, m_hAccel, pMsg)) { return(TRUE); } else { /*if(pMsg->message == WM_KEYDOWN) { if(int(pMsg->wParam) == VK_F5 ) { OnAcceleratorF5(); } else if(GetAsyncKeyState(VK_CONTROL)) { if( pMsg->wParam == 'O') OnAcceleratorCtrlO(); else if( pMsg->wParam == 'F') OnAcceleratorCtrlF(); else if( pMsg->wParam == 'T') OnAcceleratorCtrlT(); else if( pMsg->wParam == 'J') OnAcceleratorCtrlJ(); else if( pMsg->wParam == 'M') OnAcceleratorCtrlM(); else if( pMsg->wParam == 'L') OnAcceleratorCtrlL(); } }*/ } } return CDialog::PreTranslateMessage(pMsg); } |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |