菜单、工具栏和状态栏

菜单、工具栏和状态栏

ID:40801266

大小:485.10 KB

页数:33页

时间:2019-08-07

菜单、工具栏和状态栏_第1页
菜单、工具栏和状态栏_第2页
菜单、工具栏和状态栏_第3页
菜单、工具栏和状态栏_第4页
菜单、工具栏和状态栏_第5页
资源描述:

《菜单、工具栏和状态栏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章菜单、工具栏和状态栏6.1菜单6.2工具栏6.3状态栏1第6章菜单、工具栏和状态栏6.1菜单6.2工具栏6.3状态栏26.1菜单(1of11)对于菜单的显示都遵循下列一些规则:若某菜单项标题后有“…”,那么在点击某菜单项会弹出一对话框。若某项菜单有子菜单,那么在该菜单项文本后有“”。菜单项需要助记符,用括号将带下划线的字母括起来。助记符与Alt构成一个组合键,当按住“Alt”键不放,再敲击该字母时,对应的菜单项就会被选中。若某项菜单需要快捷键的支持,则一般将其列在相应菜单项文本之后。任何时候按下快捷键,相应的菜单命令都会被执行。图6.1File菜单36.1菜单(2o

2、f11)6.1.1用编辑器设计菜单编辑菜单在菜单的空位置上双击鼠标左键,则出现它的属性对话框,如图。图6.2菜单编辑器菜单的空位置图6.3菜单属性对话框46.1菜单(3of11)56.1菜单(4of11)需要注意的是:当菜单项的属性中选中了Pop_up(该菜单包含子菜单)时,对话框中ID、Separator和Prompt项无效。增加新的菜单项后,用户可以用鼠标将菜单项拖到其他位置,而当菜单项位置改变时,其属性并不改变。菜单项被拖动的位置图6.4拖动菜单项图6.5添加的菜单项66.1菜单(5of11)菜单命令的消息映射[例Ex_Mmenu]“成绩输入”菜单项的映射。(1)进入

3、MFCClassWizard对话框,切换到MessageMaps页面。(2)从“Classname”列表中选择CMainFrame,在IDs列表中选择ID_SCORE_IN,然后在Messages框中选择COMMAND消息,如图。图6.6消息的选择76.1菜单(6of11)(3)单击[AddFunction]按钮或双击COMMAND消息,输入成员函数的名称。如图6.7所示。(4)单击[OK]。选择新增加的成员函数,单击[EditCode]按钮(或直接在函数名双击鼠标左键),就可以在此成员函数中添加一些代码。例如:voidCMainFrame::OnScoreIn(){//T

4、ODO:AddyourcommandhandlercodehereAfxMessageBox("现在就输入成绩吗?");}(5)编译并运行。在应用程序的顶层菜单上,单击“成绩输入”菜单项或按Alt+S组合键,如图6.8所示。图6.7添加成员函数对话框图6.8菜单命令执行的结果86.1菜单(7of11)6.1.2使用键盘快捷键(1)先打开上例的项目工作区窗口中Accelerator的资源项,双击IDR_MAINFRAME,如图。图6.9示例Ex_Sdi的加速键资源最下端的空行96.1菜单(8of11)(2)要建立一新的加速键,双击加速键列表的最下端的空行,如图6.10,其中可

5、设置的属性如表6.2。(3)在上述对话框中,选择ID_SCORE_IN作为要设定快捷键的ID号,单击[NextKeyTyped],按下Ctrl+1作为此加速键的键值。图6.10“AccelProperities”对话框106.1菜单(9of11)6.1.3使用快捷菜单——右键菜单用资源编辑器和MFC库的CMenu::TrackPopupMenu函数可以创建快捷菜单。CMenu::TrackPopupMenu函数原型如下:BOOLTrackPopupMenu(UINTnFlags,intx,inty,CWnd*pWnd,LPCRECTlpRect=NULL);其中:x和y表示

6、菜单顶端(一般为左上角)的水平坐标和垂直坐标。pWnd表示弹出菜单的窗口。lpRect是一个RECT结构或CRect对象指针,表示一个矩形区域,不在该区域单击鼠标时,则弹出菜单消失;当lpRect为NULL时,若击在菜单外面,菜单立刻消失。116.1菜单(10of11)[例Ex_Menu]创建弹出菜单。(1)选择“Insert”菜单“Resource”命令,为应用程序添加一个新的菜单资源。(2)用菜单编辑器,为该菜单资源中的顶层菜单的第一项加一任意标题(实际上该标题无任何作用),在此菜单项下依次添加如下表所示的菜单项。(3)将此菜单资源ID号改为IDR_MYFLOATME

7、NU(默认的ID号为IDR_MENU1)。(4)按Ctrl+W快捷键打开ClassWizard,将出现一对话框,询问是“选择一个已存在的类”,还是“创建一个新类”。选择“选择一个已存在的类”项并选定CMainFrame类。126.1菜单(11of11)(5)在CMainFrame类中,选择上表中所列的菜单ID,双击COMMAND消息。这里仅为菜单ID_MENU_SCOREIN映射COMMAND消息,添加代码:voidCMainFrame::OnMenuScorein(){AfxMessageBox("现在就输入成绩

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。