您的位置:首页 > 其它

VC给菜单(任何ID)指定快捷键

2008-05-05 15:08 197 查看
网上很多人都在问同样的问题,所以大家都知道也都不知道,曾经自己也是这样的。
今天又看到很多关于菜单的问题,同样也有菜单快捷键的问题,很多人使用了直接截获消息进行分析处理的方式,对于MFC这样基于消息的东西还是可以做到的,但是我在这里不想介绍这样费劲的方法,在MFC中(或者win32程序)

有个HACCEL,这个就是加速键的来源,所以在windows程序中可以用如下方案:

m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
4然后重载对话框的PreTranslateMessage函数,在
BOOL DJG::PreTranslateMessage(MSG* pMsg)
{
if (m_hAccelTable)
{
if (::TranslateAccelerator(m_hWnd, m_hAccelTable, pMsg))
{
return(TRUE);
}
}
return CDialog::PreTranslateMessage(pMsg);
}

在MFC中的资源中有Accelerator的资源,这里可以可视化注册你想要的快捷键,所以到这个时候你对所有添加快捷键都不会陌生了。加油。。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: