资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第9章 菜单与多选项卡,随着Windows操作系统风行世界,各种基于Windows的应用程序及各类娱乐软件也日益为人们所熟悉。这些软件的共同特点之一就是大量使用不同的菜单和工具栏,把用户从众多繁琐的命令和参数中解放了出来,使用和操作显得十分方便和直观。,9.1 菜单,9.2 工具栏,9.3 PageControl控件,9.1 菜单,在Delphi中可使用组件栏和菜单设计器快速建立自己的菜单。实际应用中,菜单可分为两种基本类型:主菜单(mainmenu)和弹出式菜单(popmenu)。主菜单一般通过单击菜单栏中的菜单标题打开,如图9-1所示。,图9-1 主菜单,9.1 菜单,弹出式菜单,则通过鼠标右键单击某一区域的方式打开,如图9-2所示。,9.1.1 主菜单,主菜单一般称为菜单栏,其中包括一个或多个选择项称为菜单项。当单击一个菜单项时,包含子菜单项的列表即被打开。,1. 菜单编辑器,打开一个新窗体,单击组件栏中standard页的mainmenu组件,并将其放在容器form1中,即可产生主菜单项。,双击mainmenu组件或右键单击mainmenu,在弹出的快捷菜单中选取menudesigner项;再或单击mainmenu组件,并在对象监视器中选item属性,鼠标点击按钮,即可出现如图9-3所示的菜单编辑器,并自动产生一个空菜单项。,9.1.1 主菜单,【例9-1】实现用菜单控制字幕。,程序如下,2. 菜单项改进方法,(1) 设置热键。,(2) 添加复选标记。,在例9-1中若将菜单项“文本风格”下的子菜单项粗体的checked属性改为true既表示在粗体菜单项前显示复选标记“”,否则不显示,,【例9-2】在例9-1中添加复选标记,,如程序所示,。,9.1.1 主菜单,(3) 设置单选菜单项。,在例9-2的基础上,将菜单项“文本字体”下的子菜单项宋体、隶书、楷体、黑体中的radioirem属性改为true,即表示在同一组中的菜单项是单选的,并在选中的菜单前显示圆点。而在同一组中菜单项的groupindex属性应设置为相同值,以表示在同一组中。,【例9-3】在例9-2中添加单选菜单项。,如程序所示,9.1.1 主菜单,(4) 使用菜单模板。,在Delphi中提供一些已经设计好的菜单模板,并且可以建立自己的菜单模板。这样可节省编程时间,减少错误,方便了用户的使用。,在打开菜单编辑器后,单击鼠标右键,在出现的快捷菜单中选择“Insert from Template”命令,将出现如图9-8所式的对话框。其中列出了Delphi所提供的7种菜单模板。,9.1.2 弹出式菜单,弹出式菜单能以更加灵活的方式为用户提供更加便利的操作,当用户在不同位置单击鼠标右键,则将显示一组不同的菜单项。,popupmenu组件在组件栏中standard标签中,其设计方法与mainmenu基本相同。,【例9-4】以例9-1为基础增加弹出式菜单,使得在窗体中单击鼠标右键显示文本字体的子菜单项;在label1中单击鼠标右键时显示文本风格的子菜单项。,如程序所示,9.2 工具栏,工具栏用于实现具体的功能实现,一般是通过工具按钮实现。,9.2.1 如何设置工具栏,在Delphi中工具栏(ttoolbar)组件和工具按钮(ttoolbutton)组件位于Win32页中,工具栏按钮组件不能和其他窗口组件连用,只能放在工具栏组件上。,【例9-5】在例9-2中添加工具栏按钮,,如程序所示,9.2.2 工具栏的改进,1. 工具栏的显示与隐藏,有时,会要求隐藏某些工具栏以提供较多的空间,可以通过设置toolbar组件的visible属性来实现。,2. 工具栏按钮的分组,设置工具栏按钮的group属性为true,可将相邻的group属性为true的按钮组成一组,右键单击工具栏组件,弹出快捷菜单,选择“New Separator”项,则可添加分隔符,将group属性为true的按钮分为两组。,9.3 PageControl控件,在使用多个窗体的情况下,可以使用菜单或按钮等完成多个窗体之间的切换,见例9-7。,【例9-7】使用菜单实现窗体之间的转换。,如程序所示,9.3 PageControl控件,上例中使用菜单实现多窗体之间的使用情况,其实这种情况可以使用多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况。,该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。,9.3 PageControl控件,在新的工程的窗体中添加一个PageControl控件,选择该控件,单击鼠标右键,在弹出的快捷菜单中选择“New Page”选项,就可以在控件中添加选项卡,多次使用“New Page”命令可以添加多个选项卡。添加了选项卡的窗体如图9-15所示。,图9-15 添加了选项卡的窗体,9.3 PageControl控件,用户可以分别在每一选项卡中进行设计,各个选项卡之间互不干涉,每个选项卡可以根据用户的需要来设计。,【例9-8】将例9-7使用PageControl来进行实现。,如程序所示,
展开阅读全文