首页 > 编程语言 > 详细

C++ Code_HotKey

时间:2014-08-01 22:39:12      阅读:438      评论:0      收藏:0      [点我收藏+]
 
 
 
 

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

  

// 关联HotKeyCtrl控件变量 m_HotKey1
 
bubuko.com,布布扣
 
 
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();
}

 

效果图:

bubuko.com,布布扣

 




C++ Code_HotKey,布布扣,bubuko.com

C++ Code_HotKey

原文:http://www.cnblogs.com/xe2011/p/3885720.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!