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的资源,这里可以可视化注册你想要的快捷键,所以到这个时候你对所有添加快捷键都不会陌生了。加油。。。。。。。。
今天又看到很多关于菜单的问题,同样也有菜单快捷键的问题,很多人使用了直接截获消息进行分析处理的方式,对于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的资源,这里可以可视化注册你想要的快捷键,所以到这个时候你对所有添加快捷键都不会陌生了。加油。。。。。。。。
相关文章推荐
- 指定VC2010中菜单ID时偶尔出现的大小写自动转换问题
- VC在指定控件中添加右键菜单的两种方法
- VC对话框添加菜单快捷键
- VC在指定控件中添加右键菜单的两种方法
- VC中实现在指定控件上弹出右键菜单
- VC:桌面右击快捷键菜单(CRegKey 、command目录)
- VC2010添加菜单快捷键出现问题怎么办
- VC MDI 子窗口或嵌入窗体获得焦点后,用Alt快捷键弹出主窗口菜单无响应以及
- VC中实现在指定控件上弹出右键菜单
- VC对话框的菜单添加快捷键
- vc 多个菜单 绑定一个 方法 获取对应控件id
- VC的对话框编辑器怎么为Edit控件指定一个快捷键
- vc 指定控件鼠标右键菜单
- VC对话框的菜单添加快捷键
- TMainMenu 类[三] - 手动建立菜单(7) : 指定快捷键
- 右键弹出菜单和快捷键的设置
- mysql id按指定的格式自增
- 玩转VC(快捷键)
- “无任何网络提供程序接受指定的网络路径”的解决办法
- 利用EF 插入数据库指定ID