Delphi菜单设计.4

4.菜单栏、工具栏和状态栏


在可视化程序设计中,每个应用程序都包含一个主窗体。主窗体并不仅仅是一个Form窗体,一个完整的应用程序窗体除了Form窗体外,还应包括菜单栏、工具栏和状态栏等相关组件。这三种组件是主程序窗体的重要组成部分,通过这些组件,可以方便地完成各项操作并了解当前程序的运行状态。本章将介绍如何创建菜单栏、工具栏、状态栏。

4.1 菜单栏
通常,菜单可以看作是命令的列表,使用菜单组件,可以将应用程序中的所有命令按类别分成多个菜单项,每个菜单项又包含了多个属于该类别的多个命令。Delphi开发系统中,菜单组件主要分为主菜单和弹出菜单两类。
4.1.1 主菜单
应用程序工作界面菜单栏中的菜单就是主菜单。下图所示即为一个打开的系统主菜单。


上图中的菜单栏有6个菜单项,称为主菜单。每个主菜单都可以打开一个下拉菜单,当前打开的是“文件”下拉菜单。“文件”后面的(F)表示可以按Alt+F组合键来打开“文件”菜单。“文件”菜单有很多菜单项,有些菜单项又包含了菜单,这样的菜单称为子菜单。
下拉菜单中的菜单项有两种显示形式:一种显示为黑色,表示在当前情况下,该菜单项可用;另一种显示为灰色,表示在当前情况下,该菜单项不可用。
上图中,有些菜单项右侧还有字母,如“新建”菜单项右侧的“(N)”,表示当按Ctrl+N组合键时,可实现与单击“新建”命令相同的功能。

1.创建主菜单
在Delphi程序设计中,创建主菜单需要使用Standard面板上的MainMenu组件。将MainMenu组件添加到Form窗体后,双击MainMenu组件,弹出MainMenu窗口,该窗口称为MainMenu菜单设计器,如下图所示。


1)添加菜单
(1)打开MainMenu菜单设计器,其最左上角自动生成一个方框,选中该方框,在Properties选项卡中将Caption属性设置为该菜单的名称,如“文件”,然后单击空白处,即可创建菜单栏中的一个菜单项。
(2)再次单击“文件”菜单项,其右边和下边自动出现两个方框,如下图所示。文件菜单项右边的方框表示与“文件”菜单项平级的菜单,也是主菜单。“文件”菜单项下边的右框表示下拉菜单中的菜单项。按照同样方法设置菜单名,每次设置完后,会在该菜单的右侧或下方出现一个新的菜单项,通过这样的方法,可以完成所有菜单项的添加。


2)删除菜单项
在设计菜单时,如果发现某个菜单项设计有误,可以将其删除,方法是选中需要删除的菜单项,直接按键盘上的Delete键即可。
提示:如果删除的菜单项有子菜单,则删除该菜单项的同时,其子菜单也会一同被删除。
3)插入菜单
要添加新的菜单项,先选择要添加菜单项的位置,然后右击,在弹出的快捷菜单中选择Insert命令,在当前菜单项的上方(或左边)生成一个空菜单项。

2.设计主菜单
以上介绍了创建主菜单的方法,但是,这样创建的菜单不够美观,功能也不够全面,为了能设计出美观、功能完备的主菜单,还需要设置分隔条、快捷键、子菜单、菜单选择模式和菜单选中状态。
1)设计分隔符
通常,下拉菜单中的菜单项可以按功能分成若干组,着就需要使用分隔条,如下图所示。
在Delphi系统中,分隔条作为一个独立的菜单项。分隔条的创建很简单,将要设置为分隔条的菜单项的Caption属性设置为“-”,其他属性取默认值即可。


2)设置快捷键
快捷键是菜单的重要组成部分,使用快捷键可以提高工作效率。例如上图所示的菜单中,按Alt+Y组合键可以打开“文件”下拉菜单,然后按Ctrl+菜单项右侧的字母键即可执行该命令。

在默认情况下,MainMenu组件会为创建的每个菜单项自动关联一个快捷键。如果不满意系统设置的快捷键,可以自定义快捷键,操作步骤如下:
(1)将MainMenu组件的AutoHotKeys属性设置为maMenual,关闭了自动关联菜单与快捷键的功能。
(2)分别设置主菜单与下拉菜单中菜单项的快捷键。
设置主菜单快捷键的方法为:在菜单项的名称后加上(&字母)。以“文件”菜单项为例,选中该菜单项,在Caption属性值栏中输入“文件(&F)”,表示设置该菜单项的快捷键为Alt+F。
设置下拉菜单中菜单项的快捷键也十分简单,以“新建”菜单项为例,选中该菜单项,在ShutCut属性值下拉列表框中选择适当的快捷键,如Ctrl+N即可。如果该下拉列表框没有需要的快捷键,如“退出”菜单项对应的Alt+X组合键,这是直接在ShutCut属性值栏中输入Alt+X即可。自定义的快捷键如下图所示。


                                             自定义快捷键

3)设计子菜单
如果下拉菜单中的某些菜单项又包含了多个菜单项,可以将这些菜单设置为子菜单,如下图所示。


创建子菜单方法很为,右击需要建立子菜单的菜单项,如“色彩”,在弹出的快捷菜单中选择Create SubMenu命令。此时,系统会在“色彩”菜单右侧生成一个空菜单项,然后按以上介绍的方法设置菜单即可。
4)菜单项选择模式与选中状态
设置菜单项的选择模式可以在其选择和取消选择间切换,如下图所示。


在上图中,“字体”子菜单中有两组命令,第一组命令包括“宋体”、“楷体”和“黑体”,只能选择其中一个;另一组命令包括“倾斜”、“加粗”和“下划线”,可以同时选择多个。
下面以设置上图中的“字体”子菜单为例,介绍设置菜单项选择模式的操作步骤。
(1)右击“字体”菜单项,在弹出的快捷菜单中选择Create SubMenu命令,生成子菜单。
(2)分别创建子菜单中的“宋体”、“楷体”、“黑体”、分隔线、“倾斜”、“加粗”和“下划线”菜单项。

(3)由于以上菜单项(不含分隔条)应分成两组,因此要修改菜单项的分组属性。将“宋体”、“楷体”和“黑体”菜单项的GroupIndex属性值均设置为0(默认值);将“倾斜”、“加粗”和“下划线”菜单项的GroupIndex属性均设置为1,这样就可以将以上6个菜单项分成两组。
(4)由于“宋体”、“楷体”和“黑体”菜单项只能选择一个,所以将它们的RadioItem属性均设置为True;“倾斜”、“加粗”和“下划线”菜单项可以同时选中多个,将它们的RadioItem属性均设置为False。

(5)在设置菜单时,可以指定在默认情况下,某个菜单项是否处于选中状态。例如,要设置打开菜单时默认选中“宋体”菜单项,则将其Checked属性设置为True,使其左边显示“•”符号。同样,将“倾斜”、“加粗”菜单项的Checked属性设置为True时,其左边显示“√”符号。


下面与一个例子:

设计一个菜单栏,包含“文件”和“编辑”两个主菜单,其下拉菜单如前三个图所示。
具体操作的步骤如下:
(1)在Form窗体中添加一个MainMenu组件,将其AutoHotKeys属性设置为maManual,双击该组件,打开菜单设计器。

(2)选中首个空菜单项,在Caption属性值栏中输入“文件(&F)”,设置该菜单的名称。
(3)选中“文件”菜单项下边的空菜单项,将Caption属性设置为“新建”,在ShortCut属性值下拉列表框中选择Ctrl+N选项,创建“文件”下拉菜单中的“新建”菜单项。采用同样的方法创建“打开”、“保存”和“另存为”菜单项。
(4)选中“另存为”菜单项下面的空菜单项,将Caption属性设置为“-”,创建分隔条。
(5)选中分隔条下边的空菜单项,将Caption属性设置为“从扫描仪或照相机”,并将Enabled属性设置为False,使该菜单项处于禁用状态。

(6)选中下拉菜单的最后一个菜单项,将Caption属性设置为“退出”,设置ShortCut属性为Alt+X。
(7)选中“文件”菜单右边的空菜单,将Caption属性设置为“编辑(&E)”。
(8)使用步骤(3)~(5)的方法,创建“编辑”下拉菜单中的各个菜单项。
(9)右击“字体”菜单项,选择快捷菜单中的Create SubMenu命令,创建“字体”菜单项的子菜单。
(10)选中“字体”子菜单的第一个空菜单项,设置Caption属性为“宋体”,Checked属性为True,GroupIndex属性为0,RadioIndex属性为True。采用同样的方法,设置“楷体”和“黑体”菜单项,但是它们的Checked属性要设置为False。
(11)将“黑体”菜单项下方的菜单项创建为分隔条,然后选择分隔条下方的空菜单项,设置Caption值设置为“倾斜”,Checked属性为True,GroupIndex属性为1,RadioIndex属性取默认值False。采用同样方式,完成“加粗”和“下划线”菜单项的设置,但“加粗”菜单项的Checked属性要设置为True,“下划线”菜单项的Checked属性要设置为False。


主菜单设计大致可以完成,后续介绍弹出式菜单和线性菜单设计。

阅读更多
个人分类: Delphi
想对作者说点什么? 我来说一句

delphi导航菜单范例

2010年04月13日 1.12MB 下载

导航菜单(可以自动隐藏)

2015年05月22日 7.55MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭