第4章-菜单工具栏与状态栏.ppt
- 文档编号:2121826
- 上传时间:2022-10-27
- 格式:PPT
- 页数:51
- 大小:686KB
第4章-菜单工具栏与状态栏.ppt
《第4章-菜单工具栏与状态栏.ppt》由会员分享,可在线阅读,更多相关《第4章-菜单工具栏与状态栏.ppt(51页珍藏版)》请在冰豆网上搜索。
第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏VisualC+VisualC+程序设计与应用教程程序设计与应用教程4.1菜单菜单4.2工具栏工具栏4.3状态栏状态栏4.4应用实例应用实例VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏24.14.1菜单菜单4.1.1菜单的类型菜单的类型常见菜单有常见菜单有33种种:
主菜单、弹出菜单和快捷菜单主菜单、弹出菜单和快捷菜单。
1.1.主菜单主菜单指指出出现现在在应应用用程程序序主主窗窗口口或或最最上上层层窗窗口口的的菜菜单单。
通常对应有一个弹出菜单作为它的子菜单。
通常对应有一个弹出菜单作为它的子菜单。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏32.2.弹出菜单弹出菜单指指选择主菜单或一个菜单项时弹出的子菜单选择主菜单或一个菜单项时弹出的子菜单。
3.3.快捷菜单快捷菜单当当右右击击某某个个界界面面对对象象时时,通通常常会会弹弹出出快快捷捷菜菜单单,它它出出现现在在鼠鼠标标箭箭头头的的位位置置,快快速速展展示示当当前前对对象象可可用用的的命令功能命令功能。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏4菜单结构200201202203房间号0123楼楼层层号号01VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏5菜单设计一般需要经过下面两步:
菜单设计一般需要经过下面两步:
(1)
(1)使用菜单编辑器编辑菜单资源;使用菜单编辑器编辑菜单资源;
(2)
(2)使用使用ClassWizardClassWizard进行消息映射,编辑进行消息映射,编辑成员函数,完成菜单所要实现的功能。
成员函数,完成菜单所要实现的功能。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏64.1.2编辑菜单编辑菜单使使用用菜菜单单编编辑辑器器来来编编辑辑菜菜单单资资源源。
双双击击ResourceViewResourceView视图中的视图中的MenuMenu菜单资源,打开菜单编辑器。
菜单资源,打开菜单编辑器。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏71.1.插入新菜单项插入新菜单项在当前空白菜单项位置插入在当前空白菜单项位置插入选选定定窗窗口口中中的的空空白白菜菜单单项项后后按按回回车车键键(或或双双击击空空白白菜菜单单项项),系系统统弹弹出出菜单属性对话框。
菜单属性对话框。
在某菜单项前插入在某菜单项前插入选选中中该该菜菜单单项项并并按按InsIns键键,再再双击该空白菜单项进行编辑。
双击该空白菜单项进行编辑。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏82.2.属性对话框的设置属性对话框的设置用用于于输输入入菜菜单单项项的的标标识识符符(ID)(ID)、标标题题(Caption)(Caption)和和菜菜单项在状态栏上显示的单项在状态栏上显示的提示提示(Prompt)(Prompt)信息等信息等。
菜单项的标菜单项的标识符识符(ID)(ID)菜单项在状态栏上菜单项在状态栏上显示的提示信息显示的提示信息标题标题VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏9VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏103.3.调整菜单项位置调整菜单项位置选中某菜单项将其拖至适当位置。
选中某菜单项将其拖至适当位置。
4.4.删除菜单项删除菜单项用用鼠鼠标标单单击击菜菜单单项项或或用用上上、下下、左左、右右光光标标键键选选择择菜菜单单项项,然然后后单单击击CutCut按按钮钮或或按按DelDel键删除。
键删除。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏11【例例4.1】编编写写一一个个单单文文档档应应用用程程序序MyDraw,在在菜菜单单栏栏中中增增加加一一个个“绘绘图图”主主菜菜单单,并并在在其其中中添添加加“矩矩形形”和和“椭圆椭圆”两个菜单项。
两个菜单项。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏124.1.3建立消息映射建立消息映射在在上上例例中中仅仅添添加加了了菜菜单单,并并没没有有实实现现菜菜单单的的功功能能,即即没没有有对对应应的的命命令令处处理理函函数数与与菜菜单单项项对对应应,因因此此,添添加加的的菜菜单单项项是是灰灰色色的的,即即处处于于当前不可用状态当前不可用状态。
添添加加新新的的菜菜单单项项后后,还还应应该该为为菜菜单单项项指指定定一一个个处处理理函函数数,即即利利用用ClassWizardClassWizard类类向导添加一个消息处理函数。
向导添加一个消息处理函数。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏13【例例4.24.2】为例为例4.14.1中增加的菜单项添加消息处理函数。
中增加的菜单项添加消息处理函数。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏程序的实现步骤1、利用、利用AppWizard生成程序框架生成程序框架(MenuTest)2、编辑资源、编辑资源3、加入菜单消息处理函数、加入菜单消息处理函数4、菜单命令的更新控制、菜单命令的更新控制VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏步骤1生成程序框架(MenuTest)1.项目名称:
MenuTest2.选择单文档界面应用程序(Singledocument)VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏步骤2编辑资源1.编辑菜单资源编辑菜单资源画图画图Pop-up选中选中CaptionIDPrompt矩形矩形(&R)tCtrl+RID_DRAW_RECT在视图中画矩形在视图中画矩形椭圆椭圆(&C)tAlt+CID_DRAW_CIRCLE在视图中画椭圆在视图中画椭圆2.编辑快捷键资源编辑快捷键资源IDModifiersKeyID_DRAW_RECTCtrlRID_DRAW_CIRCLAltCVisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏步骤3加入菜单消息处理函数ClassNameObjectsIDsMessages1.CMenuTestViewID_DRAW_RECTCOMMAND2.CMenuTestViewID_DRAW_CIRCLECOMMANDvoidCMenuTestView:
OnDrawRect()voidCMenuTestView:
OnDrawRect()CClientDCdc(this);CClientDCdc(this);dc.Rectangle(50,50,200,150);dc.Rectangle(50,50,200,150);voidCMenuTestView:
OnDrawCircle()voidCMenuTestView:
OnDrawCircle()CClientDCdc(this);CClientDCdc(this);dc.Ellipse(250,50,400,150);dc.Ellipse(250,50,400,150);VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏184.1.4菜单的有效控制菜单的有效控制一般情况下,菜单项都不止一种状态。
一般情况下,菜单项都不止一种状态。
例例如如,在在没没有有选选择择任任何何内内容容时时,EditEdit菜菜单单下下的的CopyCopy、CutCut等等菜菜单单项项是是无无效效的的(灰灰色色显显示示)。
有有时时,我我们们还还会会看看到到,在在菜菜单单项项旁旁边边可可能能还还会会有有检检查查标标记记,表表示示它它是是选选中中的的还还是是不不选选中中的的。
比比如如,在在WordWord的的视视图图菜菜单单项项下下,当当用用户户选选用用【网网格格线线】或或【标标尺尺】时时,相应菜单项前会出现一个相应菜单项前会出现一个“”。
MFCMFC通通过过消消息息映映射射机机制制和和CCmdUICCmdUI类类更新菜单项的显示更新菜单项的显示。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏19在在类类向向导导ClassWizardClassWizard的的MessageMessageMapMap标标签签中中,如如果果选选择择一一个个菜菜单单IDID,在在MessagesMessages列表框中就会出现以下两项:
列表框中就会出现以下两项:
COMMANDCOMMANDUPDATE_COMMAND_UIUPDATE_COMMAND_UI其中其中UPDATE_COMMAND_UIUPDATE_COMMAND_UI是更新命令用是更新命令用户接口消息,专门用于处理菜单项和工具户接口消息,专门用于处理菜单项和工具条按钮的更新。
条按钮的更新。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏基本知识1、pCmdUI-Enable(true|false);说明:
使用户界面对象有效或无效2、pCmdUI-SetCheck(1|0);说明:
设置或取消选中用户界面对象3、使用COMMAND消息响应菜单项的选择事件4、UPDATE_COMMAND_UI消息控制菜单项使用状态VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏21【例例4.34.3】为为例例4.24.2的的程程序序MyDrawMyDraw添添加加更更新新用用户户界界面面的的消消息息处处理理函函数数,使使程程序序启启动动时时菜菜单单项项【椭椭圆圆】处处于于不不可可用用状状态态,当当用用户户单单击击【矩矩形形】菜菜单单项项后后,在在菜菜单单项项前前显显示示“”标标记记,并并使使【椭椭圆圆】菜单项变为可用。
菜单项变为可用。
VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏22操作步骤:
1、首先创建菜单项;2、添加菜单命令;3、定义标记变量;public:
boolm;booln;boolf;VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏234、赋初值CLi4_3View:
CLi4_3View()/TODO:
addconstructioncodeherem=false;n=false;f=false;VisualC+程序设计与应用教程2022/10/27第第44章章菜单、工具栏与状态栏菜单、工具栏与状态栏245、菜单项“椭圆”不可用voidCLi4_3View:
OnUpdatecircle(CCmdUI*pCmdUI)pCmdUI-Enable(m);pCmdUI-SetCheck(f);VisualC+程序设计与应用教程2022/1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 菜单 工具栏 状态栏