商务合作:179001057@qq.com

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

技术2022-05-11  3


某平台价值19860元的编程课程资料免费领取【点我领取】


在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)