_021_热键控件

========================================


添加热键控件


再添加一个测试按钮


这个热键控件的文本框里,能自动识别组合键

我们在测试按钮里添加如下代码

void C_001_Dlg::OnBnClickedButtontestHotkey()
{
	CHotKeyCtrl * hotkey=(CHotKeyCtrl*)this->GetDlgItem(IDC_HOTKEY1);
	
	//获取热键,这是从热键控件里获取,需要我们自己输入
	WORD codeKey, modify;
	hotkey->GetHotKey(codeKey,modify);

	//注册热键
	RegisterHotKey(m_hWnd,1000,modify,codeKey);
	//参数1 窗口句柄
	//参数2 热键ID,用于处理事件和卸载
	//参数3 类似ctrl shift这些组合键
	//参数4 键代码,就是普通的字母和数字
	//其实注册热键并不需要热键控件,因为RegisterHotKey是系统函数,不是空间的成员函数
	//添加热键控件,只是为了更直观的获取热键,不需要查询热键的键代码

	//UnregisterHotKey(m_hWnd, 100); 撤销热键
}

上面只是注册热键,还需要指定注册热键之后干什么事情,

所以我们需要OnHotKey消息


//热键事件
void C_001_Dlg::OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2)
{
	if (nHotKeyId==1000)
	{
		MessageBoxW(L"荒天帝", L"123");
	}

	CDialogEx::OnHotKey(nHotKeyId, nKey1, nKey2);
}

=












猜你喜欢

转载自blog.csdn.net/yzj17025693/article/details/80883544