在VCMFC中为程序定义全局快捷键

    技术2022-05-11  30

    在VC/MFC中为程序定义全局快捷键 时间:2008-12-06 10:35:46  来源:RealGIS  作者:tqx  点击量:280 在VC/MFC编程中,可以为程序定义自己的全局快捷键,如不管在任何地方按下Ctrl+Alt+Z即可显示QQ窗口。

    1、注册快捷键

    在初始化函数,如OnInitDialog() 注册快捷键,代码如下:

    BOOL CDlgCloseProSetup::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here ::RegisterHotKey(m_hWnd,199,MOD_CONTROL,‘Z’); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }

    RegisterHotKey()第一个参数为句柄,第二个为快捷键ID号,可自己任意定义,第三个为控制键,若不需可设为NULL,第四个为字母或数字,同样不需时可设为NULL

    2、在头文件中添加以下消息声明:

     afx_msg long OnHotKey(WPARAM wParam,LPARAM lParam);

    3、在cpp文件中添加:

    BEGIN_MESSAGE_MAP(CDlgCloseProSetup, CDialog) //{​{AFX_MSG_MAP(CDlgCloseProSetup) ON_MESSAGE(WM_HOTKEY,OnHotKey) //添加此句 //}}AFX_MSG_MAP END_MESSAGE_MAP()

    4、添加快捷键响应的成员函数:

    HRESULT CDlgCloseProSetup::OnHotKey(WPARAM wParam,LPARAM lParam) { if(wParam==199) { AfxMessageBox("全局快捷键"); } return TRUE; }  

     本篇文章来源于 3SDN  转载请以链接形式注明出处 网址:http://www.3sdn.net/programing/vc/2008-12-06/115.html


    最新回复(0)