菜单设计、按钮、标签页、工具栏.ppt_第1页
菜单设计、按钮、标签页、工具栏.ppt_第2页
菜单设计、按钮、标签页、工具栏.ppt_第3页
菜单设计、按钮、标签页、工具栏.ppt_第4页
菜单设计、按钮、标签页、工具栏.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 菜单设计,本章内容: 菜单的种类 菜单设计 常用工具栏设计,5.1 菜单设计的一般原则,好的菜单设计应该具有功能强大、条理清晰、易于使用等特点: 菜单设计的第一个基本原则是应用软件的主控模块最好不超过9个 菜单设计的另一个基本原则是“符合习惯、突出重点、尽量精简”。,下图即反映了菜单设计的一些基本原则:,隐藏图标,分类,如图所示,MS OFFICE2000 主菜单有9项,并将不常用的子菜单隐藏,增强了菜单的可读性。,5.2 菜单的种类,菜单一般分为三大类: 下拉菜单 下拉菜单一种是主菜单(Mainmenu),一种是弹出菜单(PopMenu). 按钮菜单 Delphi可用于设计菜单的按钮组件主要有Button ,BitBtn ,SpeedButton三种. 多页标签菜单 Delphi可用于设计菜单的多页标签组件主要有TabbedNotebook, Pagecontrol两种.,1. 下拉菜单设计,(1) 单击“File” ”new”“Application”,建立新项目 (2) 在新窗体上分别放入MainMenu和PopMenu (3) 设置窗体使用主菜单和弹出菜单,设置方法是:将对象观察器上窗体的MainMenu和PopMenu属性值分别设置为MainMenu1和PopMenu1,主菜单,弹出菜单,单击,双击,(1)添加菜单项方法: 双击菜单组件,或者是在菜单组件的对象观察器中,单击Items属性输入框中的”对话框”按钮。,打开菜单设计器,(2)添加菜单图标:,(1) 通过菜单项的Bitmap属性设置图标,点击此处 加载图标,选择 路径,选择 图标,确认,在这种方式中,首先选择要设置图标的菜单项,在其对象观察器中找到Bitmap属性,单击“对话框”按钮,单击”load”,在此对话框中选择一幅位图,点击“打开”,完成图标的设置工作.,加载菜单图标对话框,选择图标对话框,(3) 编辑菜单项,菜单的加速键和快捷键 (4)菜单对象的命名,设置菜单项的相应事件 (5)建立二级菜单,二级 菜单,方法:选中需要创建二级菜单的菜单项;单击鼠标右键,在弹出菜单中选择“Creates SubMenu ”菜单项,即生成二级菜单。,2. 动态菜单设计 2.1 创建动态菜单 (1) 定义主菜单对象 由于主菜单应用于整个窗体,因此应在窗体类的Public中定义的它,定义格式如下:主菜单对象名:TMainMenu;例如:定义一个名叫MyMainMenu的主菜单对象,格式为:MyMainMenu:TMainMenu; (2) 实例化主菜单对象 实例化主菜单对象用于为已定义的主菜单对象分配内存,方法如下: 菜单对象名:=TMainMenu.Create(Self);例如,实例化MyMainMenu的主菜单对象,格式如下:MyMainMenu:=TMainMenu.Create(Self);注意:实例化主菜单对象及下面三步中的程序代码应放在窗体的创建事件中,即窗体的OnCreate事件中。,2.1 创建动态菜单 设置主菜单项 设置主菜单项其实是添加菜单项,在添加菜单项前必须首先定义它,然后再将定义好的菜单项添加到主菜单中。下面先定义菜单项,方法为:菜单项名:TMenuItem。 (4)设置每个主菜单的子菜项 动态添加子菜单项的方法与添加主菜单项的方法相似,仍然是先定义子菜单项,再实例化,然后设置子菜单名,最后将子菜单项添加到相应的主菜单项中,2.1 创建动态菜单 (5)设置菜单项的响应事件 设置菜单的响应事件与是否为主菜单或子菜单无关,菜单项实例化后就可设应事件,设置方法如下: 菜单项名.OnClick:=菜单响应处理过程; (6)动态修改菜单 动态修改菜单项包括添加、删除等操作。在前面的例子中,我们已经使用了菜单项对象的Add过程添加菜单项,其实菜单项对象还有Insert、Delete等方法,使用这些方法可完成菜单项的动态插入或删除操作。下面简要说明一下它们的使用方法。,Insert过程 插入主菜单项 格式:主菜单名.Items.Insert(Index: Integer; Item: TMenuItem); 上述格式的功能是:在主菜单的第Index个菜单项前插入一个由Item指定的主菜单项,注意,插入前主菜单必须实例化并至少有Index+1个主菜单项,同时Item菜单项也要实例化。 插入子菜单项 主菜单名.ItemsMIndex.Insert(SIndex: Integer; SItem: TMenuItem); 此格式的功能是:在第MIndex个主菜单项的第Sindex个子菜单项前插入一个由SItem指定的子菜单项。注意,插入前,要插入的菜单项、主菜单和相应的子菜单都要实例化。请读者根据上面的例子改写一个动态插入菜单的例子。,Click过程 模拟鼠标单击某个菜单项,从而产生OnClick事件,使用格式为:菜单项对象名.Click。,Delete过程 从菜单组件中删除由索引号index指定的菜单项,使用格式为:菜单组件名.Delete (index); Indexof 函数 返回菜单项中的索引号,索引号从0开始,如果指定的菜单项没有出现在菜单中,则返回-1,使用格式为:菜单组件名.Indexof(Item),其中Item是菜单项对象名。 Remove过程 删除指定的菜单项,与Delete过程不同的是,它使用菜单项对象名作为参数,使用格式如下: 菜单组件名.Remove(Item);,(7)设置加速键和快捷键 (8) 弹出菜单 在激活方式上,主菜单是在显示窗体时自动激活的,弹出菜单则必须是在设置PopupMenu属性的组件上通过单击鼠标右键来激活。 当弹出菜单的AutoPopup属性设置为False时,只能通过调用弹出菜单的Popup方法才能激活它,Popup方法的使用格式如下: 弹出菜名.Popup(X, Y); (9) 主菜单合并 菜单合并指的是两个不同菜单按照一定的规则合并成为一个菜单。按照合并方式不同,菜单合并分为同一窗体上主菜单合并和不同窗体上的主菜单合并两种方式,3 按钮菜单,Delphi可用于设计菜单的按钮组件主要有Button、BitBtn和SpeedButton三种,其中,Buttton组件可用于设计一般应用程序界面,它没有图标和平面(Flat)属性,不能修改按钮标题颜色,而BitBtn和SpeedButton组件则不同,它们不仅可设置图标,也可设置标题的颜色。,(1) Button按钮,使用Button按钮建立的菜单,(2) Bitbtn按钮,加载 图标,确认,使用BitBtn按钮建立的菜单过程,(3) SpeedButton按钮,SpeedButton按钮与BitBtn按钮很相似,不过,SpeedButton按钮常用于表示状态,其常用属性与BitBtn按钮很类似。,4.多页标签菜单 (1). TabbedNotebook组件,TabbedNotebook,TabbedNotebook是为了与早期Win31操作系统兼容而保留的,它在win31组件面板页上,(2) Page Control 组件,选择 标签处,修改 标签标题,调整标签 排列顺序,右击标签控件菜单,建新标签,到下一个,到上一个,删除标签,标签页 设置区,使用Pagecontrol控件设置多页标签,5.工具栏组件,我们在使用微软Office系统软件时,经常用到系统提供的工具栏,下图是Word 2000的一个工具栏。,利用此组件开发应用程序有工具栏需要如下几个步骤: (1)将工具栏上使用的图标保存到ImageList组件中. (2)加入ToolBar组件到窗体中,并用鼠标右击它,在弹出菜单中选择“New Button”菜单项为工具栏添加按钮. (3)设置工具栏上的按钮图标。要使保存到ImageList组件中的图标从按钮上显示出来,还要做如下设置:首先,选中ToolBar组件,在对象观察器中找到它的Images属性,并设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论