设置对话框中的热键值用什么函数?

来源:百度知道 编辑:UC知道 时间:2024/06/12 17:32:05
得到热键信息又用什么函数?

新建立一个对话框工程cd,添加几个控件
ID 标题 类型 映射变量
IDC_TANCHU 弹出 CButton m_tanchu
IDC_GUANBI 关闭 CButton m_guanbi
IDC_HOTKEY1 CHotKeyCtrl m_hotkey
IDC_SAVE 保存设置 CButton
在VC++6.0中,大多数的窗口消息可以从ClassWizard中找到,但是一些不常用的消息在ClassWizard中并没有封装,WM_HOTKEY就是其中一个,因此用户必须手动添加。方法如下:
在对话框的头文件CCdDlg.h中加入热键处理函数声明:
afx_msg LRESULT OnHotKey(WPARAM wp,LPARAM lp);
在对话框的实现文件CCdDlg.cpp中,找到消息映射的定义处,添加如下的代码:
BEGIN_MESSAGE_MAP(CTestView, CView)
ON_MESSAGE(WM_HOTKEY,OnHotkey) //消息和函数发生关联
END_MESSAGE_MAP()

在对话框的初始化函数OnInitDialog()中添加如下代码,该函数首先用API函数
GetPrivateProfileInt()读取当前目录中的Settings.ini文件中保存的热键值,然后传给SetHotKey() 以设置热键控件
BOOL CCdDlg::OnInitDialog()
{
… …
WORD virtualKey=::GetPrivateProfileInt("热键设置","HotkeyVK",0,".\\Settings.ini");
WORD sysKey=::GetPrivateProfileInt("热键设置"