zoukankan      html  css  js  c++  java
  • C++ Code_HotKey

     
     
     
     

    Code::使用HotKeyCtrl定义一个系统热键 

      

    // 关联HotKeyCtrl控件变量 m_HotKey1
     
     
     
    BEGIN_MESSAGE_MAP(CXyzDlg, CDialog)
        //{{AFX_MSG_MAP(CXyzDlg)
        ON_WM_SYSCOMMAND()
        ON_MESSAGE(WM_HOTKEY,OnHotKey)
        ON_WM_PAINT()
        ON_WM_QUERYDRAGICON()
        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
        ON_WM_CLOSE()
        //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
        
    void CXyzDlg::OnButton1() 
    {
        // TODO: Add your control notification handler code here
        
        WORD m_wVkCode;
        WORD m_wModifier;
        m_HotKey1.GetHotKey(m_wVkCodem_wModifier);
        
        AfxGetMainWnd()->SendMessage(WM_SETHOTKEY,(WPARAM)MAKEWORD(m_wVkCode,m_wModifier));
        UINT mod = 0;
        if ( m_wModifier&HOTKEYF_ALT )     mod|=MOD_ALT;
        if ( m_wModifier&HOTKEYF_CONTROL ) mod|=MOD_CONTROL;
        if ( m_wModifier&HOTKEYF_SHIFT )   mod|=MOD_SHIFT;
        if ( m_wModifier&HOTKEYF_EXT )     mod|=MOD_WIN;
        
        m_wModifier=mod;
        ::RegisterHotKey(AfxGetMainWnd()->m_hWnd111 , m_wModifierm_wVkCode);
        
    }
        
    void CXyzDlg::OnHotKey(WPARAM wParamLPARAM lParam)
    {
        switch (wParam)
        case 111:
            AfxMessageBox("热键响应成功!");
    //    CDialog::OnHotKey(wParam,lParam);
    }
        
    void CXyzDlg::OnClose() 
    {
        // TODO: Add your message handler code here and/or call default
        ::UnregisterHotKey(m_hWnd,111);
        CDialog::OnClose();
    }

     

    效果图:

     




  • 相关阅读:
    c3p0整合mysql报错问题
    MySQL错误问题
    导入项目@Override报错原因及解决办法
    AtomicInteger线程安全的计数器
    jq实现鼠标经过出现上拉菜单
    css实现文字裁切效果
    echarts地图
    css3实现 鼠标经过li时动态画边框(jq库导航)
    仿妙味课堂导航(转)
    jq仿 妙味课堂导航01
  • 原文地址:https://www.cnblogs.com/xe2011/p/3885720.html
Copyright © 2011-2022 走看看