欢迎来到天天文库
浏览记录
ID:59253973
大小:774.39 KB
页数:17页
时间:2020-09-08
《MFC实验五菜单工具栏和状态栏.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、菜单、工具栏和状态栏实验步骤:01.利用MFCAppWizard[exe]创建SDI应用程序,项目名为wx203_1。02.单击项目工作区窗口下的ResourseView标签,打开资源列表。展开Menu,双击Menu下的IDR_MAINFRAME即可打开菜单编辑器,如图所示。03.为程序添加顶层菜单项。双击菜单编辑器中具有虚线的空白框,打开菜单属性对话框,如图所示。在Caption中输入菜单项标题“画图[&D]”。04.为顶层菜单添加下拉菜单。在菜单编辑器中单击“画图[&D]”,双击下方的新菜单项框,弹出菜单属性对话框。在ID框中输入ID_DRAW_ELLIPSE,在Caption框中输入菜单
2、项标题“椭圆[&E]tCtrl+E”。在Prompt框中输入次菜单的提示信息“在视图窗口画一个椭圆画椭圆”。01.重复第03、04步,设计的菜单如图所示。各菜单项的ID值如表所示:菜单ID各菜单项的ID值ID_DRAW_ELLIPSE椭圆[&E]tCtrl+EID_DRAW_TRIANGLE三角形[&T]ID_DRAW_RECTANGLE矩形[&R]ID_COLOR_RED红色[&R]ID_COLOR_GREEN绿色[&G]ID_COLOR_BLUE蓝色[&B]ID_COLOR_CUSTOM自定义...02.添加消息处理函数。在视图类CWx203_1View的定义中添加如下的数据成员:
3、在视图类CWx203_1View的构造函数中对数据成员进行初始化:按下Ctrl+W打开ClassWizard对话框,选中MessageMaps标签,在Classname中选择类名CWx203_1View,在ObjectsIds下选择ID_DRAW_ELLIPSE,在Messages框中选择COMMAND,单击AddFunction为椭圆菜单添加消息处理函数,单击EditCode按钮打开代码编辑窗口,编辑消息处理函数:同样为其它菜单添加WM_COMMAND消息处理函数如下:编辑视图类OnDraw函数,在其中添加如下代码:编译、链接和运行程序,如下图所示:01.为“画图”下拉菜单添加用户界面更新处
4、理函数。在Messages列表框中选择UPDATE_COMMAND_UI。用户界面更新处理函数如下:02.单击项目工作窗口下的ResourceView标签,打开资源列表。展开Accelerator,双击IDR_MAINFRAME,打开快捷键编辑器。双击空白处,选中“椭圆”的ID值为ID_DRAW_ELLIPSE,在Key中输入E,在Modifiers中选中Ctrl,则椭圆的快捷键为Ctrl+E。03.添加“颜色”的快捷菜单。在视图类中添加消息WM_CONTEXTMENU的处理函数,在函数中添加如下代码:运行时,当在视图窗口中右击鼠标时,弹出快捷菜单,如图所示:01.通过编程增加两个菜单“缩放”
5、和“修改菜单”。单击项目工作窗口下的FileView标签,展开SourceFiles,双击Resource.h打开资源头文件,在其中添加如下语句:创建两个子菜单,并将其添加到顶层菜单中。在CmainFrame类的OnCreate成员函数中添加如下代码:为子菜单项添加命令处理函数。对于通过编程创建的菜单项,只能手工添加消息处理函数。打开CWx203_1View.h,在其中找到DECLARE_MESSAGE_MAP,在DECLARE_MESSAGE_MAP之上、注释//}}AFX_MSG之下添加消息处理函数模型:再打开CWx203_1View.cpp文件,在BEGIN_MESSAGE_MAP和EN
6、D_MESSAGE_MAP()之间添加消息映射项。在视图类的实现文件CWx203_1View.cpp中添加消息处理函数的函数体如下:修改视图类OnDraw以适应菜单的变化。在CWx203_1View类的定义中增加一个int数据成员m_nFlags,用于记录执行创建菜单“缩放”的情况,并在构造函数黄总将其初始化为0。修改OnDraw,增加如下代码:编译、链接和运行程序,结果如下:01.创建一个英文的菜单资源,并允许在中英文之间进行切换。在项目工作窗口选中ResourceView标签,打开资源菜单,增加顶层菜单命令“英文”,并取消Pop-up属性,指定其ID值为ID_ENGLISH,Caption
7、为英文。单击项目工作窗的ResourceView标签,在窗口中右击Menu,选择InsertMenu命令,插入新的菜单资源。右击插入的资源ID,选择Properties命令,ID修改为IDR_ENGLISH。添加如下图所示的菜单,为了与中文菜单共用相同的菜单命令处理函数,各对应菜单的ID应与IDR_MAINFRAME中的菜单ID相同。取消菜单明林CHINESE的Pop-up属性,ID值为ID_CH
此文档下载收益归作者所有