要在VC对话框上,为菜单添加快捷键,步骤如下:
1、先创建快捷键资源表IDR_ACCELERATOR1,在表中将快捷键与菜单ID绑定
2、在对话框的.h文件中,声明快捷键资源句柄 HACCEL m_Haccel;
3、在OnInitDialog函数中添加代码:
//加载快捷键资源表 m_Haccel = LoadAccelerators(theApp.m_hInstance,(LPCTSTR)IDR_ACCELERATOR1);
4、添加快捷键消息处理虚函数,如下:
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函数中添加代码:
m_bmp.LoadBitmap(IDB_BITMAP1); GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(1,MF_BYPOSITION, &m_bmp, &m_bmp); //函数的第1个参数为菜单位置