网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
在Visual Studio集成开发环境中,打开资源视图,依次展开节点**“Menu”→“Menu.rc”→“Menu”,可以看到有一个名为IDR_MAINFRAME的菜单资源,它就是刚才我们在Menu应用程序界面中所看到的菜单。这是MFC 应用程序向导为Menu这个单文档程序自动创建的一个主菜单。双击这个菜单资源名称,即可在Visual Studio的左边窗格中打开菜单编辑器**。
可以看到Menu项下有一个名为IDR_MAINFRAME的菜单资源,它就是刚才我们在Menu应用程序界面中所看到的菜单。这是MFC AppWizard为Menu这个单文档程序自动创建的一个主菜单。双击这个菜单资源名称,即可在 VC++开发界面的右边窗格中打开菜单编辑器,如下图所示。
新建Test:
选中**【Test】**菜单,在Visual Studio开发环境右下角的属性窗口中,我们看到“杂项”中的ID项是灰色的,如图所示。
可以用鼠标分别单击【文件】、【编辑】、【视图】和【帮助】菜单,发现它们的ID 项都是灰色的。但是当我们单击这些子菜单下的菜单项时,例如【文件】子菜单下的【新建】菜单项,可以发现它的ID项是可以输入和修改的,如下图所示。
可以比较一下上图属性窗口中Popup项的值,可以看到前者的Popup项的值是 True,而后者为 False。可以再看看【文件】、【编辑】、【视图】和【帮助】这几个菜单,会发现它们的Popup项的值都是True。在MFC中,Popup类型(值为True)的菜单称为弹出式菜单,Visual Studio默认顶层菜单为弹出式菜单。这种菜单不能响应命令。是不是顶层菜单只能是弹出式菜单呢?当然不是,只要将顶层菜单的 Popup 项的值设置为False,该菜单就不是弹出式菜单,而成为一个菜单项了。例如,把刚才新建的【Test】菜单的 Popup 项的值设为 FALSE,这时它的 ID 项就能够被编辑了,我们可以输入一个 ID号,例如IDM_TEST,如下图 。
提示:MFC都是采用大写字母来标识资源ID号的。为了与MFC保持一致,程序中也应该使用大写字母来标识ID号。
小技巧:程序中会用到多种资源,在为资源确定其 ID 号时,为了明确区分资源类型,一般都遵循这样一个原则:在“ID”字符串后加上一个标识资源类型的字母,例如,我们给Test菜单项指定的这个ID号就是在“ID”字符串后加了一个字母“M”,表示这是Menu,即菜单资源。以后我们还会遇到光标(Cursor)资源,其ID号是在“ID”字符串后加上一个字母**“C”;而图标资源(Icon)的ID号会在“ID”字符串后加上一个字母“I”**。也就是说,菜单资源ID号以“IDM_”开始;光标资源ID号以“IDC_”开始;图标资源ID号以“IDI_”开始。
下面为【Test】菜单添加命令响应,可以利用前面介绍的类向导工具来完成。单击Visual Studio菜单栏上的【项目】→【类向导】(或者同时按下键盘上的**“Ctrl+Shift+X”组合键),打开类向导,这里,我们打算在框架窗口中响应这个菜单命令,因此在“类名”下拉框中找到CMainFrame并选中,在“对象ID”列表中找到并选中IDM_TEST**,在**“消息”列表框中选中COMMAND**项,如图所示。
单击**【添加处理程序】按钮来增加一个响应函数,这时会弹出如图所示的对话框。在这个对话框中,给出了Test菜单命令响应函数的默认名称:OnTest,可以修改这个名称,本例保持该名称不变,单击【确定】**按钮,返回到类向导对话框。这时,在该对话框底部的“成员函数”列表中多了一项,就是新添加的【Test】菜单命令响应函数,如图7.7所示。单击对话框上的【编辑代码】按钮,即可跳转到OnTest函数的定义处。
新添加的OnTest命令响应函数项:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**