键盘快捷键该如何做

mailmagic 2002-10-22 02:19:05
比如有一个树控件,已经自定义了右键菜单,如何用键盘字母如'A'来驱动菜单,起到代替右击的功能
...全文
29 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mailmagic 2002-10-22
  • 打赏
  • 举报
回复
我在程序中用了wm_keydown,如
void CMyFormView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call
AfxMessageBox("df");

CFormView::OnKeyDown(nChar, nRepCnt, nFlags);
}
但是程序运行时按下任何键都不会弹出messagebox
cxiaobao 2002-10-22
  • 打赏
  • 举报
回复
如果是只在程序里,可以处理WM_CHAR或WM_KEYDOWN消息,
如果是全局的可以使用, RegisterHotKey,如:
RegisterHotKey(yourWnd.GetSafeHwnd(),YOUR_MESSAGE,MOD_ALT, 'Z');
就注册了一个快界键ALT+Z,每当按下这个快界键是,YourWnd会收到WM_HOTKEY消息。

程序结束时别忘了UnregisterHotKey(yourWnd.GetSafeHwnd(),YOUR_MESSAGE);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧