一 建立菜单项
- 新建自己的菜单项
- 资源视图中Menu项添加一个Menu资源
- 菜单项命名,添加ID
- 在MainForm.cpp文件中的OnCreate()函数中去除之前默认的菜单项,添加自己的菜单项。
SetMenu(NULL);
CMenu menu;
menu.LoadMenuA(IDR_TMENU);
SetMenu(&menu);
menu.Detach();
- 在OnCreat()中注释掉一些和之前菜单有关的代码(关闭默认菜单栏)
//if (!m_wndMenuBar.Create(this))
//{
// TRACE0("未能创建菜单栏\n");
// return -1; // 未能创建
//}
// TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
/*m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);*/
//m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
/*DockPane(&m_wndMenuBar);*/
//DockPane(&m_wndToolBar);
二 添加快捷键
1.建立加速器,使ID号与相应的快捷键对应
2.在Mainform.h文件中添加HACCEL hAccel protected类型变量,在Mainform的构造函数中加载快捷键。
hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
3.在MainForm函数中建立一个PreTranslateMessage()虚函数,并在其中添加如下代码:
if(::TranslateAccelerator(GetSafeHwnd(),hAccel,pMsg))
return true;
三 设置启动图标
1.建立或导入一个XXX.ico文件,导入文件要将其放在工程下res文件夹中,或直接放入res文件夹再导入。
2.在MainForm.h文件中添加一个HICON proteced类型变量hicon,然后在其OnCreate()函数中加入如下代码:
m_hicon = AfxGetApp()->LoadIcon(IDR_START);
SetIcon(m_hicon,TRUE);
SetIcon(m_hicon,FALSE);
四 一些可能会遇到的问题
- 项目属性页 运行库 最好采用多线程DLL(/MD)
2,若解决文件占用过大,可进行如下操作
- 打开解决方案,生成->清理解决方案。
- 删除文件夹中的IPCH文件和SDF文件。
3. “工具-> 选项-> 文本编辑器-> C/C++-> 高级”将“回退位置->始终使用回退位置”设置为true,将“回退位置已在使用时,不警告”也设置为True,然后删除 sdf 文件和 ipch 目录,再次打开解决方案,ipch与sdf就不会再产生了。
可以在 "回退位置" 属性中,设置一个固定的路径来存储这些文件,比如E:\Temp。