要在VC对话框上,为菜单添加快捷键,步骤如下:
1、先创建快捷键资源表IDR_ACCELERATOR1,在表中将快捷键与菜单ID绑定
2、在对话框的.h文件中,声明快捷键资源句柄 HACCEL m_Haccel;
3、在OnInitDialog函数中添加代码:
1
2
|
//加载快捷键资源表
m_Haccel = LoadAccelerators(theApp.m_hInstance,(
LPCTSTR
)IDR_ACCELERATOR1);
|
4、添加快捷键消息处理虚函数,如下:
1
2
3
4
5
6
7
8
9
10
|
BOOL
CTestDlg::PreTranslateMessage(MSG* pMsg)
{
//处理快捷键消息
if
(m_Haccel)
{
if
(TranslateAccelerator(m_hWnd,m_Haccel,pMsg))
return
TRUE;
}
return
CDialogEx::PreTranslateMessage(pMsg);
}
|
5、在资源中,右键为菜单添加事件处理方法
另外,给菜单添加小图标,代码如下:
1、在对话框窗口中.h文件中声明 CBitmap m_bmp;
2、在对话框的OnInitDialog函数中添加代码:
1
2
3
|
m_bmp.LoadBitmap(IDB_BITMAP1);
GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(1,MF_BYPOSITION, &m_bmp, &m_bmp);
//函数的第1个参数为菜单位置
|
本文转自Chinayu201451CTO博客,原文链接: http://blog.51cto.com/9233403/1968304
,如需转载请自行联系原作者