vc 热键、组合键的用法 MFC c++ hotkey WM_HOTKEY收藏
2009-02-22 19:26
一下介绍的内容均在vc6.0 MFC程序调试通过。
【一】热键的使用
主要使用RegisterHotKey和UnregisterHotKey两个API函数,具体介绍请看MSDN。这里以编辑框作为示例,先建一个CEdit的派生类 CMyEdit2。
1)响应WM_HOTKEY消息
RegisterHotKey可以向窗口发送WM_HOTKEY消息,所以先定义WM_HOTKEY消息映射。
在.h文件中加入afx_msg LONG OnHotKey(WPARAM wParam,LPARAM lParam); ,具体位置在:
- protected:
-
- afx_msg void OnDestroy();
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
-
- afx_msg LONG OnHotKey(WPARAM wParam,LPARAM lParam);
- DECLARE_MESSAGE_MAP()
protected: //{
{AFX_MSG(CMyEdit2) afx_msg void OnDestroy(); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); //}}AFX_MSG afx_msg LONG OnHotKey(WPARAM wParam,LPARAM lParam);//手动加入 DECLARE_MESSAGE_MAP()
在.cpp文件中加入ON_MESSAGE(WM_HOTKEY,OnHotKey),具体位置在:
- BEGIN_MESSAGE_MAP(CMyEdit2, CEdit)
-
- ON_WM_CHAR()
- ON_WM_DESTROY()
- ON_WM_CREATE()
-
|