C菜单工具栏和状态栏.pptx

上传人:一*** 文档编号:82681096 上传时间:2023-03-26 格式:PPTX 页数:19 大小:151.35KB
返回 下载 相关 举报
C菜单工具栏和状态栏.pptx_第1页
第1页 / 共19页
C菜单工具栏和状态栏.pptx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C菜单工具栏和状态栏.pptx》由会员分享,可在线阅读,更多相关《C菜单工具栏和状态栏.pptx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、会计学1C菜单菜单(ci dn)工具栏和状态栏工具栏和状态栏第一页,共19页。6.1 菜单菜单(ci dn)及加速键的使用及加速键的使用 n n菜单为所有的菜单为所有的WindowsWindows应用程序提供了一致的接口方式,可使用户直观地了解并应用程序提供了一致的接口方式,可使用户直观地了解并方便地使用应用程序所提供的各项功能,是方便地使用应用程序所提供的各项功能,是WindowsWindows资源中最重要的资源之一。资源中最重要的资源之一。使用加速键可使菜单的操作更灵活快捷,两种资源往往密不可分,菜单通常由以使用加速键可使菜单的操作更灵活快捷,两种资源往往密不可分,菜单通常由以下部分组成下

2、部分组成(z(z chn chn):n n(1 1)窗口主菜单栏(位于窗口的标题栏下方,其菜单项通常为下拉式菜单);)窗口主菜单栏(位于窗口的标题栏下方,其菜单项通常为下拉式菜单);n n(2 2)下拉式菜单框;)下拉式菜单框;n n(3 3)菜单项热键标识;)菜单项热键标识;n n(4 4)菜单项加速键标识;)菜单项加速键标识;n n(5 5)菜单项分隔线。)菜单项分隔线。n n此外,菜单项前常有选中标志以标识其是否被选中。此外,菜单项前常有选中标志以标识其是否被选中。第1页/共19页第二页,共19页。6.1.1 菜单菜单(ci dn)概述概述 n n1 1菜单及加速键菜单及加速键n n菜单

3、作为菜单作为WindowsWindows图形用户界面中窗口图形用户界面中窗口(chungk(chungk u)u)的重要组成部分,可以方便地操作应用程的重要组成部分,可以方便地操作应用程序。序。WindowsWindows中的菜单主要分为两种:一种是附着在框架窗口中的菜单主要分为两种:一种是附着在框架窗口(chungk(chungk u)u)和对话框的菜单条和对话框的菜单条上的下拉菜单,另一种是弹出式的上下文菜单。上的下拉菜单,另一种是弹出式的上下文菜单。n n菜单是应用程序中最常见的元素。大量命令的调用都是通过选择菜单实现的。在使用菜单是应用程序中最常见的元素。大量命令的调用都是通过选择菜单

4、实现的。在使用AppWizardAppWizard生成生成SDISDI或或MDIMDI应用程序框架时,应用程序框架时,AppWizardAppWizard将自动生成标准的应用框架菜单资源将自动生成标准的应用框架菜单资源(IDR_MAINFRAMEIDR_MAINFRAME)和菜单处理函数代码。为了满足实际需要,有时需要对默认菜单进)和菜单处理函数代码。为了满足实际需要,有时需要对默认菜单进行修改。行修改。第2页/共19页第三页,共19页。6.1.1 菜单菜单(ci dn)概述概述n n2 2CMenuCMenu类类n n菜单类(菜单类(CMenuCMenu类)提供了许多类)提供了许多(x(x

5、du)du)处理菜单和菜单项的方法,这些方法分别是菜单构造处理菜单和菜单项的方法,这些方法分别是菜单构造方法、菜单操作方法、菜单项操作方法和虚拟方法等。方法、菜单操作方法、菜单项操作方法和虚拟方法等。n n可以通过下列三种方法获得指向可以通过下列三种方法获得指向CMenuCMenu对象的指针:对象的指针:n n(1 1)利用)利用CWnd:GetMenu()CWnd:GetMenu()函数获取指向指定菜单的指针。函数获取指向指定菜单的指针。n n(2 2)利用)利用CWnd:GetSystemMenu()CWnd:GetSystemMenu()函数获取指向系统菜单的指针。函数获取指向系统菜单的

6、指针。n n(3 3)利用)利用CMenu:LoadMenu()CMenu:LoadMenu()函数从应用程序的可执行文件装载菜单资源,并将它连接到函数从应用程序的可执行文件装载菜单资源,并将它连接到CMenuCMenu对象上。对象上。第3页/共19页第四页,共19页。6.1.1 菜单菜单(ci dn)概述概述n n在获得菜单指针之后,就可以利用在获得菜单指针之后,就可以利用CMenuCMenu成员函数在运行时动态修改菜单(用户利用资源编成员函数在运行时动态修改菜单(用户利用资源编辑器只能静态辑器只能静态(jngti)(jngti)修改菜单资源)。修改菜单资源)。CMenuCMenu类的成员函

7、数类的成员函数AppendMenu()AppendMenu()、InsertMenu()InsertMenu()、ModifyMenuModifyMenu()()和和RemoveMenu()RemoveMenu()分别用于添加、插入、修改和删除指定菜单项。标识菜单项的方法有两种:分别用于添加、插入、修改和删除指定菜单项。标识菜单项的方法有两种:一是用一是用IDID,二是用位置索引。,二是用位置索引。n n如果菜单由弹出式菜单构成,则通过成员函数如果菜单由弹出式菜单构成,则通过成员函数GetSubMenu()GetSubMenu()获取该菜单的一个弹出式菜单的获取该菜单的一个弹出式菜单的CMen

8、uCMenu对象。对象。n n成员函数成员函数TracePopupMenu()TracePopupMenu()在一个在一个POINTPOINT结构指定的位置显示一个浮动的弹出式菜单,并跟结构指定的位置显示一个浮动的弹出式菜单,并跟踪该菜单上的选择操作。浮动的弹出式菜单可以出现在屏幕上的任何地方。踪该菜单上的选择操作。浮动的弹出式菜单可以出现在屏幕上的任何地方。第4页/共19页第五页,共19页。6.1.2 菜单菜单(ci dn)消息及消息消息及消息映射映射 n n在在MFCMFC消息消息(xio xi)(xio xi)映射中,包含两个菜单消息映射中,包含两个菜单消息(xio xi)(xio xi

9、):WM_COMMANDWM_COMMAND和和UPDATE_COMMAND_UIUPDATE_COMMAND_UI。n n(1 1)WM_COMMANDWM_COMMAND消息消息(xio xi)(xio xi)。n n当用户选中了某个菜单项,激活菜单的加速键或选中了相应的工具栏按当用户选中了某个菜单项,激活菜单的加速键或选中了相应的工具栏按钮时,会发出消息钮时,会发出消息(xio xi)(xio xi)标识符为标识符为WM_COMMANDWM_COMMAND的命令消息的命令消息(xio(xio xi)xi)。其消息。其消息(xio xi)(xio xi)映射为映射为ON_COMMANDON

10、_COMMAND,ON_COMMANDON_COMMAND消息消息(xio xi)(xio xi)映射的映射方式是:映射的映射方式是:n nON_COMMANDON_COMMAND(菜单项的标识(菜单项的标识ID,ID,消息消息(xio xi)(xio xi)处理函数)处理函数)n n(2 2)UPDATE_COMMAND_UIUPDATE_COMMAND_UI消息消息(xio xi)(xio xi)。n nUPDATE_COMMAND_UIUPDATE_COMMAND_UI是是MFCMFC所特有的,应用程序不一定要处理该消所特有的,应用程序不一定要处理该消息息(xio xi)(xio xi)

11、,如果用户想根据应用程序的当前状态对菜单项进行激活、,如果用户想根据应用程序的当前状态对菜单项进行激活、使菜单项无效,或给菜单项添加被选中标记等操作,要添加该消息使菜单项无效,或给菜单项添加被选中标记等操作,要添加该消息(xio(xio xi)xi)第5页/共19页第六页,共19页。6.1.3 上下文菜单上下文菜单(ci dn)n nWindowsWindows的一个重要特征是鼠标右键功能。当用户单击鼠标右键时,系统会的一个重要特征是鼠标右键功能。当用户单击鼠标右键时,系统会弹出一个浮动菜单(称为上下文菜单)供用户选择。弹出一个浮动菜单(称为上下文菜单)供用户选择。n n通过该菜单,用户可以方

12、便、快捷地进行一些操作通过该菜单,用户可以方便、快捷地进行一些操作(cozu)(cozu)。应用程序在响应。应用程序在响应弹出鼠标右键消息时,调用弹出鼠标右键消息时,调用LoadMenu()LoadMenu()函数装载菜单资源,然后调用函数装载菜单资源,然后调用GetSubMenuGetSubMenu()()成员函数获取指向弹出式菜单的成员函数获取指向弹出式菜单的CMenuCMenu指针,最后调用指针,最后调用TrackPopupMenu()TrackPopupMenu()成成员函数显示该浮动弹出式菜单,并跟踪用户的选择。员函数显示该浮动弹出式菜单,并跟踪用户的选择。第6页/共19页第七页,共

13、19页。6.1.5 改变菜单的显示改变菜单的显示(xinsh)状状态态 n n有时候,需要根据应用程序的内部状态来对菜单项作相应的改变。例如,假有时候,需要根据应用程序的内部状态来对菜单项作相应的改变。例如,假设在应用程序的设在应用程序的EditEdit菜单中有一个菜单中有一个PastePaste选项。当没有什么东西可粘贴时,选项。当没有什么东西可粘贴时,PastePaste就应当是无效状态。又如,为了标识系统正处于何种状态,可对菜单项进行就应当是无效状态。又如,为了标识系统正处于何种状态,可对菜单项进行标记;为了提示用户,应当将菜单项置为高亮度等。标记;为了提示用户,应当将菜单项置为高亮度等

14、。n n为了使应用程序的状态与菜单项保持同步,可以采用为了使应用程序的状态与菜单项保持同步,可以采用MFCMFC提供的方法提供的方法(fngf(fngf)。即每当弹出式菜单第一次显示时,都会发送特殊的更新命令。即每当弹出式菜单第一次显示时,都会发送特殊的更新命令UIUI消消息,该消息通常传递给与菜单项相联系的相应对象。通过编辑与菜单项相联息,该消息通常传递给与菜单项相联系的相应对象。通过编辑与菜单项相联系的系的UPDATE_COMMAND_UIUPDATE_COMMAND_UI消息所映射的函数即可完成对菜单项状态的设消息所映射的函数即可完成对菜单项状态的设置。此外,还可以用置。此外,还可以用C

15、Menu:GheckMenuItem()CMenu:GheckMenuItem()和和EnableMenuItem()EnableMenuItem()进行处理。进行处理。第7页/共19页第八页,共19页。6.2 工具栏的使用工具栏的使用(shyng)第8页/共19页第九页,共19页。6.2.1 工具栏概述工具栏概述(i sh)n n工具栏是一系列工具按钮的组合,借助它们可以提高用户的工作效工具栏是一系列工具按钮的组合,借助它们可以提高用户的工作效率。工具栏一般放在窗口的顶部率。工具栏一般放在窗口的顶部(d(d n n b)b),也可拖动工具栏使它,也可拖动工具栏使它停靠在窗口的任一边,并可让其

16、浮动。停靠在窗口的任一边,并可让其浮动。VC+6.0VC+6.0系统保存了每个系统保存了每个工具栏相应的位图,其中包括所有按钮的图像。工具栏相应的位图,其中包括所有按钮的图像。n n组成工具栏的基本元素包括资源和组成工具栏的基本元素包括资源和CToolBarCToolBar类。其中,资源是指工类。其中,资源是指工具栏位图。具栏位图。第9页/共19页第十页,共19页。6.2.2 工具栏资源工具栏资源(zyun)的创建的创建 n n工具栏对象是一种窗口。跟菜单类似,当用户按下工具栏中的图形按钮时会工具栏对象是一种窗口。跟菜单类似,当用户按下工具栏中的图形按钮时会发送发送WM_COMMANDWM_C

17、OMMAND或或UPDATE_COMMAND_UIUPDATE_COMMAND_UI命令消息。命令消息。n n工具栏资源的创建主要有两种方法:一种是修改现有的工具栏,增加所需按工具栏资源的创建主要有两种方法:一种是修改现有的工具栏,增加所需按钮及其功能实现;另一种方法是增加新的工具栏,并利用钮及其功能实现;另一种方法是增加新的工具栏,并利用CToolBarCToolBar类加载到类加载到系统系统(xt(xt ng)ng)中。下面,将分别介绍这两种方法。中。下面,将分别介绍这两种方法。第10页/共19页第十一页,共19页。6.2.3 工具栏按钮的消息工具栏按钮的消息(xio xi)映射映射 n

18、n添加工具栏按钮的消息映射添加工具栏按钮的消息映射(yngsh)(yngsh)与添加菜单项的消息映射与添加菜单项的消息映射(yngsh)(yngsh)处处理方法基本相同。理方法基本相同。第11页/共19页第十二页,共19页。6.2.4 工具栏窗口工具栏窗口(chungku)的的创建和加载创建和加载 n n工具栏位于主框架窗口内,其窗口的创建及资源的装载由应用程序框工具栏位于主框架窗口内,其窗口的创建及资源的装载由应用程序框架来管理。用架来管理。用AppWizardAppWizard创建的应用程序,窗口的创建及工具栏资源创建的应用程序,窗口的创建及工具栏资源的装载代码的装载代码(di m(di

19、m)在在MainFrm.cppMainFrm.cpp和和MainFrm.hMainFrm.h中,步骤一般如下:中,步骤一般如下:n n(1 1)声明一个)声明一个CToolBarCToolBar类对象。类对象。n n(2 2)窗口的创建及资源的装载。)窗口的创建及资源的装载。第12页/共19页第十三页,共19页。6.2.5 改变改变(gibin)工具栏按钮的工具栏按钮的状态状态 n n就如同菜单项有选中、无效状态一样,工具栏按钮也有选中、无效等就如同菜单项有选中、无效状态一样,工具栏按钮也有选中、无效等状态。具体设置状态。具体设置(shzh)(shzh)与菜单项类似。与菜单项类似。第13页/共

20、19页第十四页,共19页。6.2.6 工具栏的移动工具栏的移动(ydng)n n在在Visual C+6.0Visual C+6.0中,工具栏具有泊位和漂浮功能。工具栏可以中,工具栏具有泊位和漂浮功能。工具栏可以“泊位泊位”到父窗口的任意边上到父窗口的任意边上(bin shn(bin shn),也可以在自己的小框架窗口内,也可以在自己的小框架窗口内“漂浮漂浮”。n n可以通过以下可以通过以下3 3步来设置工具栏的泊位功能:步来设置工具栏的泊位功能:n n(1 1)使可泊位在框架窗口中有效。)使可泊位在框架窗口中有效。n n(2 2)使泊位对工具栏有效。)使泊位对工具栏有效。n n(3 3)泊位

21、工具栏到框架窗口。)泊位工具栏到框架窗口。第14页/共19页第十五页,共19页。6.3 状态栏的使用状态栏的使用(shyng)n n在在WindowsWindows应用程序的窗口中,底部都有一个状态栏来提供当前程序中的有应用程序的窗口中,底部都有一个状态栏来提供当前程序中的有用信息,例如:当鼠标停在某个菜单项上时,状态栏能提示此菜单项的作用;用信息,例如:当鼠标停在某个菜单项上时,状态栏能提示此菜单项的作用;状态栏窗口既不接受用户输入也不产生命令消息状态栏窗口既不接受用户输入也不产生命令消息(xio xi)(xio xi),它的作用就是显,它的作用就是显示一些文本信息。示一些文本信息。第15页

22、/共19页第十六页,共19页。6.3.1 状态栏概述状态栏概述(i sh)n n用用AppWizardAppWizard创建的应用程序,一般自动添加状态栏。在编程过程创建的应用程序,一般自动添加状态栏。在编程过程(guchng)(guchng)中只要在原有状态栏的基础上进行适当地修改就可以了。中只要在原有状态栏的基础上进行适当地修改就可以了。第16页/共19页第十七页,共19页。6.3.2 状态栏的创建状态栏的创建(chungjin)n n创建一个状态栏可以按照以下创建一个状态栏可以按照以下3 3个步骤执行:个步骤执行:n n(1 1)构造一个)构造一个CStatusBarCStatusBar

23、类的对象。类的对象。n n(2 2)调用)调用(dioyng)Create()(dioyng)Create()函数创建状态栏窗口,并将该窗口连函数创建状态栏窗口,并将该窗口连接到该接到该CStatusBarCStatusBar对象上。对象上。n n(3 3)调用)调用(dioyng)SetIndicators()(dioyng)SetIndicators()函数设置指示器函数设置指示器IDID。第17页/共19页第十八页,共19页。6.3.3 状态栏的风格状态栏的风格(fngg)n n在在MFCMFC的的CStatusBarCStatusBar类中,有两个成员函数类中,有两个成员函数(hnsh

24、)(hnsh)可可以改变状态栏的风格,一个是前面提到的以改变状态栏的风格,一个是前面提到的SetPaneInfo()SetPaneInfo()函数函数(hnsh)(hnsh);另一个是:;另一个是:void SetPaneStyle(int nIndex,UINT nStyle);void SetPaneStyle(int nIndex,UINT nStyle);n n其中,参数其中,参数nIndexnIndex表示要设置的状态栏窗格的索引,表示要设置的状态栏窗格的索引,nStylenStyle表示窗格的风格类型,用来指定窗格的外观,表示窗格的风格类型,用来指定窗格的外观,第18页/共19页第十九页,共19页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁