MFC 子菜单设置快捷键为什么不可以??

cr945211 2015-06-16 09:54:03
如题,添加了一个Accelerator,IDR_DEBUGKEY,如图

子菜单的时间响应函数写在了一个EdieView的类CDebugWin中,所以添加代码如下
int CDebugWin::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CEditView::OnCreate(lpCreateStruct) == -1)
return -1;
hAccel = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_DEBUGKEY));
return 0;
}

BOOL CDebugWin::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (hAccel)
{
if(::TranslateAccelerator(m_hWnd,hAccel,pMsg))
{
return(TRUE);
}
}
return CEditView::PreTranslateMessage(pMsg);
}



但是,运行程序后子菜单名称后面并没有快捷键,这是为什么??
如果我把这些快捷键添加在项目本身就有的IDR_MAINFRAME中,就会在子菜单后面有快捷键,但是键盘点击相应的快捷键并没有响应。(每个子菜单都已经添加响应函数,子菜单和快捷键的ID是对应的)
请问哪里出了问题
...全文
138 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cr945211 2015-06-16
  • 打赏
  • 举报
回复
刚试了一下,如果把这些快捷键添加在项目本身就有的IDR_MAINFRAME中,就会在子菜单后面有快捷键,快捷键有响应了。 但是为什么另创建一个Accelerator,IDR_DEBUGKEY不行呢??

15,976

社区成员

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

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