第6章 菜单工具栏和状态栏精选PPT.ppt
《第6章 菜单工具栏和状态栏精选PPT.ppt》由会员分享,可在线阅读,更多相关《第6章 菜单工具栏和状态栏精选PPT.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 菜单工具栏和状态栏菜单工具栏和状态栏1第1页,本讲稿共33页第第6章菜单、工具栏和状态栏章菜单、工具栏和状态栏 6.1 菜单菜单 6.2 工具栏工具栏 6.3 状态栏状态栏 2第2页,本讲稿共33页6.1菜单菜单(1 of 11)对于菜单的显示都遵循下列一些规则:对于菜单的显示都遵循下列一些规则:u若某菜单项标题后有若某菜单项标题后有“”,那么在,那么在点击某菜单项会弹出一对话框。点击某菜单项会弹出一对话框。u若某项菜单有子菜单,那么在该菜单若某项菜单有子菜单,那么在该菜单项文本后有项文本后有“”。u菜单项需要助记符,用括号将带下划菜单项需要助记符,用括号将带下划线的字母括起来。助
2、记符与线的字母括起来。助记符与Alt构成构成一个组合键,当按住一个组合键,当按住“Alt”键不放,键不放,再敲击该字母时,对应的菜单项就会再敲击该字母时,对应的菜单项就会被选中。被选中。u若某项菜单需要快捷键的支持,则一若某项菜单需要快捷键的支持,则一般将其列在相应菜单项文本之后。任般将其列在相应菜单项文本之后。任何时候按下快捷键,相应的菜单命令何时候按下快捷键,相应的菜单命令都会被执行。都会被执行。图图6.1 File菜单菜单3第3页,本讲稿共33页6.1菜单菜单(2 of 11)6.1.1 用用编辑编辑器器设计设计菜菜单单 编辑菜单编辑菜单 在菜单的空位置上双击鼠标左键,则出现它的属性对话
3、框,如在菜单的空位置上双击鼠标左键,则出现它的属性对话框,如图。图。图图6.2 菜单编辑器菜单编辑器菜单的空位置图图6.3 菜单属性对话框菜单属性对话框4第4页,本讲稿共33页6.1菜单菜单(3 of 11)5第5页,本讲稿共33页6.1菜单菜单(4 of 11)需要注意的是:需要注意的是:u当菜单项的属性中选中了当菜单项的属性中选中了Pop_up(该菜单包含子菜单该菜单包含子菜单)时,对话框时,对话框中中ID、Separator和和Prompt项无效。项无效。u增加新的菜单项后,用户可以用鼠标将菜单项拖到其他位置,而增加新的菜单项后,用户可以用鼠标将菜单项拖到其他位置,而当菜单项位置改变时,
4、其属性并不改变。当菜单项位置改变时,其属性并不改变。菜单项被拖动的位置图图6.4 拖动菜单项拖动菜单项图图6.5 添加的菜单项添加的菜单项6第6页,本讲稿共33页6.1菜单菜单(5 of 11)菜单命令的消息映射菜单命令的消息映射 例例Ex_Mmenu“成绩输入成绩输入”菜单项的映射。菜单项的映射。(1)进入进入MFC ClassWizard对话框,切换到对话框,切换到Message Maps页面。页面。(2)从从“Class name”列表中选择列表中选择CMainFrame,在,在IDs列表中选择列表中选择ID_SCORE_IN,然后在,然后在Messages框中选择框中选择COMMAND
5、消息,如图。消息,如图。图图6.6 消息的选择消息的选择7第7页,本讲稿共33页6.1菜单菜单(6 of 11)(3)单击单击Add Function按钮或双击按钮或双击COMMAND消息,输入成员函数的名消息,输入成员函数的名称。如图称。如图6.7所示。所示。(4)单击单击OK。选择新增加的成员函数,单击。选择新增加的成员函数,单击Edit Code按钮按钮(或直接在或直接在函数名双击鼠标左键函数名双击鼠标左键),就可以在此成员函数中添加一些代码。例如:,就可以在此成员函数中添加一些代码。例如:void CMainFrame:OnScoreIn()/TODO:Add your command
6、 handler code hereAfxMessageBox(现在就输入成绩吗?现在就输入成绩吗?);(5)编译并运行。在应用程序的顶层菜单上,单击编译并运行。在应用程序的顶层菜单上,单击“成绩输入成绩输入”菜单项或菜单项或按按Alt+S组合键,如图组合键,如图6.8所示。所示。图图6.7 添加成员函数对话框添加成员函数对话框图图6.8 菜单命令执行的结果菜单命令执行的结果8第8页,本讲稿共33页6.1菜单菜单(7 of 11)6.1.2 使用键盘快捷键使用键盘快捷键(1)先打开上例的项目工作区窗口中先打开上例的项目工作区窗口中Accelerator的资源项,双击的资源项,双击IDR_MAI
7、NFRAME,如图。,如图。图图6.9 示例示例Ex_Sdi的加速键资源的加速键资源最下端的空行9第9页,本讲稿共33页6.1菜单菜单(8 of 11)(2)要建立一新的加速键,双击加速键列表的最下端的空行,如图要建立一新的加速键,双击加速键列表的最下端的空行,如图6.10,其中可设置的属性如表,其中可设置的属性如表6.2。(3)在上述对话框中,选择在上述对话框中,选择ID_SCORE_IN作为要设定快捷键的作为要设定快捷键的ID号,号,单击单击Next Key Typed,按下,按下Ctrl+1作为此加速键的键值。作为此加速键的键值。图图6.10 “Accel Properities”对话框
8、对话框10第10页,本讲稿共33页6.1菜单菜单(9 of 11)6.1.3 使用快捷菜单使用快捷菜单右键菜单右键菜单用资源编辑器和用资源编辑器和MFC库的库的CMenu:TrackPopupMenu函数可以创建函数可以创建快捷菜单。快捷菜单。CMenu:TrackPopupMenu函数原型如下:函数原型如下:BOOL TrackPopupMenu(UINT nFlags,int x,int y,CWnd*pWnd,LPCRECT lpRect=NULL);其中:其中:x和y表示菜单顶端(一般为左上角)的水平坐标和垂直坐标。pWnd表示弹出菜单的窗口。lpRect是一个RECT结构或CRect
9、对象指针,表示一个矩形区域,不在该区域单击鼠标时,则弹出菜单消失;当lpRect为NULL时,若击在菜单外面,菜单立刻消失。11第11页,本讲稿共33页6.1菜单菜单(10 of 11)例例Ex_Menu创建弹出菜单。创建弹出菜单。(1)选择选择“Insert”菜单菜单“Resource”命令,为应用程序添加一个新的菜单命令,为应用程序添加一个新的菜单资源。资源。(2)用菜单编辑器,为该菜单资源中的顶层菜单的第一项加一任意标题用菜单编辑器,为该菜单资源中的顶层菜单的第一项加一任意标题(实实际上该标题无任何作用际上该标题无任何作用),在此菜单项下依次添加如下表所示的菜单项。,在此菜单项下依次添加
10、如下表所示的菜单项。(3)将此菜单资源将此菜单资源ID号改为号改为IDR_MYFLOATMENU(默认的默认的ID号为号为 IDR_MENU1)。(4)按按Ctrl+W快捷键打开快捷键打开ClassWizard,将出现一对话框,询问是,将出现一对话框,询问是“选择一选择一个已存在的类个已存在的类”,还是,还是“创建一个新类创建一个新类”。选择。选择“选择一个已存在的类选择一个已存在的类”项并选定项并选定CMainFrame类类。12第12页,本讲稿共33页6.1菜单菜单(11 of 11)(5)在在CMainFrame类类中,选择上表中所列的菜单中,选择上表中所列的菜单ID,双击,双击COMM
11、AND消息。这里仅为菜消息。这里仅为菜单单ID_MENU_SCOREIN映射映射COMMAND消息,添加代码:消息,添加代码:void CMainFrame:OnMenuScorein()AfxMessageBox(现在就输入成绩吗?现在就输入成绩吗?);(6)在在CMainFrame类类加入加入WM_CONTEXTMENU消息处理函数,代码如下:消息处理函数,代码如下:void CMainFrame:OnContextMenu(CWnd*pWnd,CPoint point)CMenu menu;menu.LoadMenu(IDR_MYFLOATMENU);menu.GetSubMenu(0)
12、-TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);(7)运行并测试。在应用程序的窗口客户区中单击鼠标右键,弹出如图菜单。运行并测试。在应用程序的窗口客户区中单击鼠标右键,弹出如图菜单。“成绩打成绩打印印”菜单命令没有消息处理函数,因此它是灰显的,用户不能使用它们。若用户选中菜单命令没有消息处理函数,因此它是灰显的,用户不能使用它们。若用户选中“成绩输入成绩输入”菜单命令,则会执行相应的代码。菜单命令,则会执行相应的代码。图图6.13 快捷菜单快捷菜单13第13页,本讲稿共33页第第6章菜单、工具栏和状态栏章菜
13、单、工具栏和状态栏 6.1 菜单菜单 6.2 工具栏工具栏 6.3 状态栏状态栏 14第14页,本讲稿共33页6.2工具栏工具栏(1 of 6)6.2.1 使用工具栏编辑器使用工具栏编辑器 例:例:选择选择“File”“Open Workspace”,创建单文档应用程序,创建单文档应用程序Ex_Sdi。在项目工作区窗口中选择。在项目工作区窗口中选择ResourceView标签,双击标签,双击“Toolbar”项中的项中的IDR_MAINFRAME,则工具栏编辑器出现在主,则工具栏编辑器出现在主界面的右边,如图。界面的右边,如图。图图6.14 工具栏编辑器窗口工具栏编辑器窗口空按钮空按钮15第1
14、5页,本讲稿共33页6.2工具栏工具栏(2 of 6)可以对工具栏进行的操作:可以对工具栏进行的操作:(1)创建一个新的工具栏按钮创建一个新的工具栏按钮在新建的工具栏中,最右端总有一个空按钮,双击该按钮弹出其属性在新建的工具栏中,最右端总有一个空按钮,双击该按钮弹出其属性对话框,在对话框,在ID框中输入其标识符名称。单击该按钮,在编辑器的视窗框中输入其标识符名称。单击该按钮,在编辑器的视窗内进行编辑,这个编辑就是绘制一个按钮位图。内进行编辑,这个编辑就是绘制一个按钮位图。(2)移动一个按钮移动一个按钮在工具栏中移动一个按钮,用鼠标左键点中它并拖动至相应位置即可。在工具栏中移动一个按钮,用鼠标左
15、键点中它并拖动至相应位置即可。若在移动一个按钮的同时,按下若在移动一个按钮的同时,按下Ctrl键,则在新位置复制一个按钮。键,则在新位置复制一个按钮。(3)删除一个按钮删除一个按钮如果用户拖动它离开工具栏位置,则此按钮从工具栏中消失如果用户拖动它离开工具栏位置,则此按钮从工具栏中消失(被删除被删除)。但若选中按钮后,单击但若选中按钮后,单击Delete键并不能删除一个按钮,只是将按钮中的键并不能删除一个按钮,只是将按钮中的图形全部以背景色填充。图形全部以背景色填充。16第16页,本讲稿共33页6.2工具栏工具栏(3 of 6)可以对工具栏进行的操作:可以对工具栏进行的操作:(4)在按钮之间插入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 菜单工具栏和状态栏精选PPT 菜单 工具栏 状态栏 精选 PPT
限制150内