关于快捷键和热键的问题。

magicfound 2004-03-09 12:11:30
我用 vc6.0 编写了一个类记事本的 sdk 程序,其中在窗口中创建一个 edit 控件。当焦点在edit控件上时,为什么我定义的快捷键经过TranslateAccelerator转换成WM_COMMAND后被发送到edit,而不是主窗口,而焦点在主窗口时,却可以收到WM_COMMAND消息?当我定义alt + s 为热键时,按下组合键后松开alt键总是激活菜单,如何避免激活菜单而保持原来的焦点在edit上?

我创建一个win32 application 工程,然后在WndProc中加入如下代码:
case WM_CREATE:
// create edit
RECT rt;
GetClientRect(hWnd, &rt);
CreateWindowEx(WS_EX_CLIENTEDGE,__T("Edit"),0,\
WS_CHILDWINDOW | WS_VISIBLE | WS_VSCROLL | ES_LEFT| ES_MULTILINE | ES_NOHIDESEL,\
0,0,rt.right,rt.bottom,hWnd,HMENU(8001),hInst,0);
break;

在没加之前可以响应alt+/快捷键,加了之后焦点在edit上时,便不能响应了,如何让它再响应alt+/快捷键呢?
...全文
40 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

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

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