MFC 对话框 快捷键设置(alt+s)

来源:互联网 发布:美容行业大数据分析 编辑:程序博客网 时间:2024/05/17 04:05

  1       声明热键消息处理函数原型          
       在.h中消息映射声明处(AFX_mSG字样之后)加入如下语句:          
    LRESULT     OnHotKey(WPARAM     wParam,LPARAM     lParam);          
  2.     消息与相应处理函数相关联          
    在.Cpp中加入消息映射宏,使消息与相应处理函数发生关系,      
                ON_MESSAGE(WM_HOTKEY,OnHotKey);          
  3.     为方便以后的操作    
          预先在类中创建一个响应WM_CREATE和WM_DESTROY消息的函数      
                OnCreate()与OnDestroy()的框架  
  4.向系统登记热键          
    在OnCreate()函数中加入如下代码以向系统登记热键,本例子的热键设为      
                ALT +S       
    RegisterHotKey(m_hWnd,1001,MOD_ALT,'S');          
    RegisterHotKey(m_hWnd,1002,MOD_ALT,'s');          
  5.处理热键          
    在消息处理函数OnHotKey()中对热键进行处理,并可加入用户希望运行的程序代码      
    LRESULT   C****::OnHotKey(WPARAM     wParam,LPARAM     lParam)          
    if(wParam==1001||wParam==1002)          
    CWnd::SetForegroundWindow();//使得被激活窗口出现在前景          
    MessageBox("Hello!");          
                   //用户可在此添加代码          
    return     0;          
  6.程序运行完毕后解除热键          
    在OnDestroy()中通过UnRegisterHotKey()解除热键登记,释放系统资源.          
    UnRegisterHotKey(m_hWnd,1001);          
    UnRegisterHotKey(m_hWnd,1002);          
  7.编译并运行程序