Delphi快速入门

2018-07-31作者:刘瑞河等编辑:Solomon

Delphi 快速入门

Delphi 是一种全新的可视化编程环境,一种方便、快捷的 Windows 应用程序开发工具。 它使用了 Microsoft Windows 图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language),是当今世界上最快的编辑器、 最为领先的数据库技术。对于广大的程序开发人员来讲,使用 Delphi 开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,将会发现编程不再是枯燥无味的工作—— Delphi 的每一个设计细节都将带给您一份欣喜。


Delphi 的基本概念

Delphi 的基本形式

Delphi 实际上是 Pascal 语言的一种版本,但它与传统的 Pascal 语言有天壤之别。Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在“骨架”上即使没有附 着任何东西,仍可以严格地按照设计来运行。程序员的工作只是在“骨架”中加入自己的 程序。默认的应用程序是一个空白的窗体(Form),运行它,将得到一个空白的窗口。这 个窗口具有 Windows 窗口的全部性质:可以被放大、缩小、移动、最大化、最小化等,但 却不需编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户的开发应用程序打下了良好的基础。Delphi 已经做好了一切基础工作——程序框架就 是一个已经完成的可运行的应用程序,只是不处理任何事情。所需要做的只是在程序中加入完成所需功能的代码而已。


在空白窗口的背后,应用程序的框架正在等待用户的输入。由于并未告诉它接收到用 户输入后作何反应,窗口除了响应 Windows 的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi 把 Windows 编程的回调、句柄处理等繁复过程都放在一个不可见的覆盖物下面,这样用户可以不为它们所困扰,轻松从容地对可视组件进行编程。


面向对象编程的概念

面向对象的语言,相对于以前的程序设计语言,代表了一种全新的思维模式,这种全新的思维模式能够方便、有效地实现以往方法所不能企及的软件扩展、软件管理和软件复用,使大型软件的高效率、高质量的开发、维护和升级成为可能,从而为软件开发技术扩展了一片新天地。


面向对象的程序设计(Object-Oriented Programming,OOP)是 Delphi 诞生的基础。 OOP 立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进 Windows 编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、容易编写。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向 对象的,否则对象产生的麻烦比好处多。而 Delphi 是完全面向对象的,这就使 Delphi 成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。


一些早期的具有 OOP 性能的程序语言,如 C++、Pascal、Smalltalk 等,虽然具有面向 对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代码。Delphi 的推出填补了这项空白。用户不必自己建立对象,只要在提供的程序框 架中加入完成功能的代码,其余的都交给 Delphi 去做。要生成漂亮的界面和结构良好的程序,也丝毫不必绞尽脑汁,Delphi 将帮助您轻松地完成。它允许在一个具有真正 OOP 扩展的可视化编程环境中,使用它的 Object Pascal 语言。这种革命性的组合,使可视化编程与面向对象的开发框架紧密地结合起来。


Delphi 可视化开发环境简介

进入 Delphi 的可视化编程

进入 Delphi 的可视化编程和运行普通的 Windows 应用程序一样,有以下几种方法。

 

1. 从任务栏的“开始”|“程序”菜单进入

安装完 Delphi 之后,安装程序会在“开始”|“程序”菜单中添加 Borland Delphi 7菜单及其菜单项。


2. 利用资源管理器进入

利用资源管理器打开 Delphi 7 所在文件系统的目录,双击 Delphi32.exe 文件名(在安装过程中如果选择了默认安装模式,Delphi32 文件在Program FilesBorlandDelphi7Bin 目 录下)。


3. 从桌面进入

利用资源管理器打开 Delphi32.exe 所在的目录,用鼠标单击 Delphi32 文件,并将其拖到桌面上,这样就创建了进入 Delphi 7 的快捷方式,启动时只需双击快捷图标即可。

Delphi 可视化编程环境介绍

Delphi 启动后。首次运行 Delphi,屏幕上会出现如下 5 个主窗口:

(1)标题为“Delphi7-Project1”的 Delphi 主窗口。
Delphi 的主窗口位于屏幕的上端,包括主菜单、工具栏和组件板。
(2)对象 Tree View(Object Tree View)。
(3)对象观察器(Object Inspector)。
(4)标题为 “Form1”的窗体设计器。

(5)标题为“Unit1.PAS”的代码编辑器,刚启动时这一窗口的大部分被窗体设计器所覆盖。 按<F12>键,可以在窗体设计器与代码窗口之间进行切换。


sdasdada.jpg


对象编辑器

对象编辑器(Object Inspector)是进行可视化编程时使用最为频繁的工具之一。设置窗体和控件的属性、切换设计对象以及为窗体、控件选择或添加事件处理过程等操作都在其中进行。对象编辑器由“对象”列表框、“Properties”(属性)选项卡和“Events”(事件)选项 卡组成。


1、“对象”列框表:位于对象编辑器上部的下拉列表框,其中显示了窗体上所有对象的名称和类型,包括窗体本身。可以通过对象列表框在窗体中的各个控件之间切换,也可以快速地回到窗体本身。


2、  “Properties”(属性)选项卡:显示窗体中当前被选择对象的属性信息,并允许改变对象的属性。其中左边一栏是属性名,右边是属性值。


3、 “Events”(事件)选项卡:列出了当前对象可以响应的事件信息。其中,左边是事件名,右边是响应事件的过程名。若过程名是空白,说明还未定义相应的事件过程。


工程管理器

工程管理器(Project Manager)管理工程中的各类文件的添加、删除和打开。可使用View|Project Manager 激活窗口。


通过工程管理器可以了解工程的构成,文件的名称和文件所在的路径,可以单击 New按钮创建新的程序单元(如窗体),单击 Remove 按钮可以从工程管理器材中删除文件。具体的应用在本章的后面会讲到。


代码编辑器

代码编辑器是程序代码的输入和编辑工具,尽管可视化编程技术的运用大大减轻了程序员编写代码的工作量,但并不能完全取代原始的代码编写工作。代码的编写仍然是整个程序设计的核心,一个程序的好坏将部分地取决于代码的编写。


代码编辑器是 Delphi 提供的一个功能强大、使用方便的代码编写工具,它能提示和帮助程序员完成代码的编写。


代码编辑器是一个选项卡风格的文本编辑器。通过选项卡标签可以选择要编辑的文件。当程序中含有不止一个窗口时,会有几个单元的源程序出现在代码编辑器中。


代码编辑器的标题栏中显示了当前正在编辑的单元文件名。要查看某一特定程序的源代码,只需用鼠标单击写有该单元文件名的标签,就可以对该单元文件进行编辑了。当单元文件较多时,选项卡右上方的导航按扭可以左右滚动选项卡标签,以便找到所需要的单元文件。


CPU 观察器

CPU 观察窗口可以打开一个应用程序的低层次状态的视图,它由 Disassem bly Pane(上 左)。Registers Pane(上中),Flags Pans(上右),Memory Dump Pane(下左)和 Machine Stack Pane(下右)5个窗口构成。在程序运行时,使用 View|Debug Windows| CPU 可以激活窗口。


aaaaaa.jpg


可视化组件用法简介

本节中,将较为深入地讲解 Delphi 的组件,这是编制大型复杂应用程序的必由之路。下面将对各组件分类进行简单的介绍,以便于在编程时能较快地了解有哪些组件可能满足要求,并对其重要的方法、属性等有一个大致的了解。


常用的文本相关组件

常用的文本组件包括 Label(标签)、Edit(文本编辑)、MaskEdit(格式编辑)、Memo (备注)、List Box(列表框)、Combo Box(组合框)。除了 MaskEdit 在 Additional 页之外,其他的都在 Standard 页中。这些用来显示各种格式的文本,其中有些是文本和数据输入的途径。


1.Label 组件

Label(标签)一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示, 也可以用来显示其他信息。可以在标签中设置热键,也即在 Caption 属性值段中输入含有 “&”的字串。当使用“Alt+关键字母”时,将自动选中它所指向的对象。方法是设置 Label 组件的 FocusControl 属性,在值段中,选用与它关联对象的对象名。


2.Edit、MaskEdit 和 Memo 组件

Edit、MaskEdit、Memo 组件都是用于接收、显示用户输入文本的。它们具有一些相同的属性。属性 ReadOnly 在运行时间内控制对象是否可以进行 Windows 的操作,当此值为 False 时,该框内的文本就不能被复制到剪贴板上。属性 MaxLength 可以设置输入文本的长度限制。用 PasswordChar 属性可以按照显示隐蔽密码的方法显示用户输入文本,例如,它的默认值为“*”,运行时,用户的输入将用“*”来显示,从而提供了一种安全机制。当一 个字段被加上高亮度显示时,按键操作会将这一字段删除,替换成当前的键盘输入。这种 设置为操作提供了方便,不必每次先删除原来的文本;但也可能会导致误删文本。将 AutoSelect 属性设置成 False,这种替代功能就被取消了。


MaskEdit 是格式文本输入对象。它的 EditMask 属性为它提供了过滤文本的格式。单击这一属性的省略按钮,会弹出过滤编辑对话框,除了 Delphi 提供的几种屏蔽格式,用户也可以自己编写,查阅“帮助”,会提供更详细的用法介绍。


Memo 是备注框,与以上对象不同的是,它可以接收多行文本输入。将 ScrollBars 属性设置成 ssVertical,可以为它加上一个垂直的滚动条。Align 属性调整该对象在窗口中的对齐情况,有 alNone(无对齐指定)、alBottom(底部对齐)、alClient(全窗口显示)等可以 选择;而 Alignment 属性则决定了文本在框中的对齐显示格式。Lines 属性访问的文本被存储在一个 TStrings 对象中,单击它的省略按钮,可以通过对话框向它添加文本,也可以用程序对这一属性进行操作,以达到修改或添加备注文本的目的。


3.List Box 和 Combo Box 组件

List Box(列表框)和 Combo Box(组合框)都显示列表项目,所不同的是组合框占用较少的空间。常见的 Windows 操作系统中,显示可用磁盘驱动器时,用的就是组合框。列表框则提供了一个项目列表以供选择,如 Windows 打开文件操作时显示文件列表的就是 List Box。


按钮和复选框组件

1.Button 和 BitBtn 组件

按钮是 Windows 常用的组件,可以利用其中的 Caption 属性来改变按扭的名称。作为执行某种功能的指示,也可以设置内置返回功能,将 ModelResult 属性加以匹配,可以不用编程,直接实现系统内置的功能。


2.Speed Button 组件

Speed Button(加速按钮)组件在 Additional 页上,是进行工具条快速设计的理想组件。它只有一个位图,没有标题。需要注意的是,用多个 Speed Button 制作一个工具条时,必须先放置一个窗口类,如 Panel(操作板)、Group Box(群组框)等。否则,试图将加速按钮先制作好再移上去,会发现加速按钮会总是处于窗口类组件下面不可见。当然,可以对加速按钮进行复制、粘贴到窗口类组件上处理,那就另当别论了。


3.Check Box 与 Radio Button 组件

Check Box(复选框)和 Radio Button(单选按钮)组件通常是相提并论的,多用作接收用户“是”或“否”的输入判别。一般都是成组的放置在 Radio Group 或 Group Box 组件中。所不同的是,成组的 Radio Button 是“互锁”的,用户选择定一个后,其他的将自动设置为不选;而Check Box 组件则是分立的,可以同时选中其中的几个,也可以一个都不选。


分组、分界组件

分组组件把其他的组件组合成一组,例如上述的单选按钮组件 Radio Button,就需要放入以下的成组组件中。分界组件用于在窗口中产生边界和区域,以区别于其他区域。


1.Group Box、Radio Group 及 Panel 组件

Group Box(群组框)、Radio Group(单选按钮组)组件都可以将组件分类、成组。两组件均有标题,可以用文字表征成组组件的标题或信息。Radio Group 可以进行 Column 和 Item 属性的设定,以决定其上的单选按钮的提示文本及显示格式。Panel 组件也可以达到将 组件分组的目的。通过编程向窗口加一个操作板组件,以书写提示和帮助信息,也不失为一种好方法。以上三个组件都在 Standard 页。


2.NoteBook、TabSet 及 TabbedNoteBook 组件

记事本组件 NoteBook 一般和标签集组件 TabSet 共同使用,用来创建含有标签的重叠多窗体窗口。Pages 属性包含了一个页名列表,在编程时,将 TabSet 的 Tabs 属性设置成 NoteBook 的 Pages 属性,就可以使页标签和相应的窗体对应起来。


另外一个组件 TabbedNoteBook 是带有标签的多窗体窗口,不过,它的页标签设在窗口的上面。它们相当于多个分组组件的集合,每次查看其中的一页。以上三个组件在 Win 3.1 页。在 Win 32 页上有 TabControl、PageControl 等组件。它们对于生成 Windows 风格的标签集是很重要的。


3.分界组件

在 Win 3.1 页上,还有 Header(表头)组件,它在窗口中产生一个凸起的题条,提供了一个可视化的文本显示区域。Additional 页的 Bevel(立体框)组件提供了一个方框,它的单一线条或整个边框都可以通过 Style 属性设置为外凸或内凹,可以美化窗口。在 Win 32页上有 HeaderControl、StatusBar 等组件,为使用 Windows 风格的界面提供了重要元素。


图形、图像组件

1、Image 组件

图像组件 Image 在 Additional 页上,用来在窗口中显示一幅图片,可以在 picture 属性 中调入图像文件。Delphi 支持位图(.BMP)、图标(.ICO)、图元(.WMF)、JPEG 图像文 件(.JPG、.JPEG)和放大的图元文件(.emf)几种文件格式。比较重要的属性是 Autosize 和 Strech。它们决定了图像在窗口中的显示尺寸。Autosize 属性为 True 表示按原尺寸显示, Strech 属性为 True 表示图像按对象图框的大小显示,这时图像的大小可以随意改变。


2、Shape 组件

图形组件 Shape 可以处理多种几何形状,通过设置 Pen 和 Brush 的嵌套属性,可以设置图形边框颜色、线型及图形的风格、填充方式、贴图方式等。


3、PaintBox 组件

在 System 页上还有一个 PaintBox(绘图框)组件,它在窗体上提供一块可供绘图的区域。这一组件需要编程实现它的功能,一个只有在运行时才有效的重要属性 Canvas 是完成绘图的关键。PaintBox 组件不能单独存在于窗体中,必须把它放在固定的分组组件中。


关系图、文件列表组件

1、OutLine 组件

OutLine(略图)组件在 Win 3.1 页上,它适用于显示分层的数据、文本。在 Delphi 中,略图组件具有很宽的设置范围。它的 Lines 属性可以设置每一词条的文本或数据。一般一个空格相当于一个层次,如果在项目前加一个空格则表示它处于树的下一层。所以在进行 Lines 属性编辑的时候不能用 Tab 键。在编程时用 Lines 和 Items 属性来访问略图的名称、 索引及完整的路径名。OutLineStyle 属性用来配置显示时关系图的风格,可以选定用旁边有图标的缩进方式,也可以选择连线方式。


2、目录访问组件

Delphi 在 System 页中提供了强大的文件目录访问组件。可以针对具体的用途设计自定义的文件对话框。它们是文件列表框 FileListBox、目录列表框 DirectoryListBox、驱动器下拉式列表框 DriveComboBox 和过滤式下拉列表框 FilterComboBox 组件。


文件列表框组件 FileListBox 显示当前目录中的文件,默认的设置是显示所有文件。通过改变 Mask 属性来设置过滤器,可以使用 DOS 的标准通配方式,选择要显示的文件名。当指定多个过滤器时,之间用“;”隔开。


目录列表框组件 DirectoryListBox 显示当前驱动器内的目录,并且允许用户在程序执行时切换目录。Column 属性决定目录在窗口中用多少列进行显示,当窗体空间不够时,用几列进行显示将有助于全面地显示目录信息。在 Delphi 中,当窗口空间显示不下全部信息时,将自动加上滚动条,以方便用户操作。


驱动器下拉式列表框组件 DriveComboBox 显示当前所在的驱动器,并且在执行时允许用户在驱动器之间切换。程序员在应用这一组件时,应考虑当用户选择到不存在的驱动器 时,进行容错、提示处理。


FilterComboBox(过滤式下拉文件列表框)组件显示当前文件过滤器类型,例如*.*, *.pas 等。在执行时允许用户在下拉列表框中选择要显示的文件类型。对 Filter 属性进行初始化,就会得到下拉式列表框。


除了以上的四个组件外,在 Sample 页上,Delphi 还提供了一个目录略图组DirectoryOutline。它将当前磁盘中的目录结构显示成一个多层次的略图,也允许用户在运行时进行目录的层次显示切换。


滚动组件

1、ScrollBar 组件

ScrollBar(滚动条)是在 Windows 应用程序中常见的结构,在 Delphi 中多数组件有自己的是否加入滚动条的属性 ScrollBar,但一个独立的滚动条组件仍是很有意义的。它在组件选项板的 Standard 页,提供一种可以改变菜单或是画面中可见部分的工具,可以以一定的增量在一定范围内滚动。Position 属性是个整形值,如果需要以动态的方式显示滚动条,可以在程序中通过操作这一属性来实现。


2、ScrollBox 组件

ScrollBox(滚动框)组件是加上了水平、垂直滚动条的群组框组件,它在 Additional 页上,用于在窗体中提供一个可以多方向滚动的工具。如果只想显示较大幅面的一个部分,并允许用户对其进行滚动操作,ScrollBar 将是理想的选择。可以先在全幅面的滚动框中进 行全面设计,然后适当地缩小外框,两个方向的滚动条将自动显示。它的 Position 属性是集成在 HorzScrollBar 和 VertScrollBar 两个集属性下的,编程时,可以选定这两个属性进行操作。


3、几个进度显示组件

在 System、Sample、Win 32 等页上,Delphi 还为用户提供了几个组件,完成显示进度,增量等操作。组件 Gauge 可以显示成长条状的或饼状的进度指示仪表。例如在安装软件时,可以编程让这一组件显示目前安装的百分比。


微调按钮组件 SpinButton 含有指示向上、向下的两个按钮,它可以用来调节数值,使 被控制的值按一定的增量单位由用户进行递增或递减。微调编辑框 SpinEdit 是微调按钮和编辑框的结合,它在编辑区域显示了数值,又在右侧设了微调按钮,使得用户选择调节按钮或改变数值的方式来调整数据的值,并返回 Value属性。 其他的此类组件,因篇幅限制,此处不作赘述。具体组件的信息,按照名称在在线帮助中查询其方法、域及应用实例,可以得到详细应用资料。


网格、表格组件

在 Additional 页中,还有字符串表格组件 StringGrid,绘图表格组件 DrawGrid 等。它们可以用来模拟按网格排列的事物,如成排的按键、操纵钮、字符串等。属性 RowCount 和 ColCount 设置了在网格中显示的行列的数目,设置 FixedCols 和 FixedRows 的值,可以固定一些行列避免运行时被改变。Options 集属性含有字符串表格组件的显示方式、操作方式等,可以查阅帮助获得详细的信息,此处不再一一讲述。


图形表格组件 DrawGrid 使用户可以用表格的方式显示非文本的数据,它的应用面比字符串表格组件更为广泛,可以把图片和文本一起放在网格中。


颜色网格组件 ColorGrid 在 Sample 页上,它提供控制前景色和背景色的界面,通过属性ForeGroundColor 和 BackGroundColor 可以访问到,也可以通过程序,把得到的颜色赋给其他对象的颜色属性。


Sample 页的日历组件 Calendar 也是用表格的方式表现的,它提供了一个简单的以月份为库单元的日历表格,通过设定 Year 和 Month 的值,可以得到相对应的月份的日历。


多媒体(MultiMedia)和 OLE 组件

媒体播放器组件 MediaPlayer 和 OLE 组件在 System 页上。媒体播放器组件在处理多媒体文件时很有用。它显示一个 VCR 风格的控制面板,可以记录或播放多媒体的图像、声音文件。通过属性的设定来控制组件上的各个按钮,如改变显示颜色、增减按钮数目等,改变一下ColoredButtons、EnabledButtons、VisableButtons 的各个子属性值,就不难发现它们控制的显示效果。具体的应用请参阅帮助以及后文的详细介绍。


OLE 客户端组件 OLEContainer 在窗体中创建一个 OLE 用户区域,用于与 Delphi 外部的某个对象进行接口。若对外部的 Paradox 表格、Word 文件、扩展页等进行操作,则对象本身的应用程序必须支持 OLE 操作。Delphi 提供了支持 OLE 应用的对象清单,右击在窗体中已插入的 OLE 组件,选择 Insert Object 就会显示出来。具体的应用,请查阅帮助或阅读后文的详细阐述。


以上介绍了 Delphi 的基本可视组件。读者可能会发现,在 Stardrad 页最前面的两个组 件 MainMenu 和 PopupMenu 还没有提及。因为这是建立菜单的重要、基本的操作,我们将在 1.4 节中作详细的介绍。另外,在下文中还将介绍比较重要的不可视组件。至于数据库组件、动态数据交换 DDE 组件等,因为在后面章节中有详尽的用法介绍,此处不赘述。


使用非可视组件

1.3 节介绍的各种组件,在设计和运行时的形式是一样的。本节所介绍的组件,在运行时被隐蔽地嵌入到窗口中,它们本身并不做任何事情,必须被用户的程序所支持才能发生作用。因为组件的设计形状和运行状态并不相关,所以,这种组件在设计窗体中的位置无关紧要,可以放在窗体上不影响其他可视组件的任何位置。这种组件,称之为非可视组件。


使用菜单组件

主菜单 MainMenu 和弹出式菜单 PopupMenu 是 Standard 页上的重要组件。

菜单组件含有内置的交互设计器。在设计菜单时,可以用菜单设计器 Menu Designer 进行工作。

应用程序的菜单有两种形式:MainMenu 是一般的 Windows 用户界面必须的组件,它显示在固定的位置,一般用键盘和鼠标左键来激活菜单的功能项;PopupMenu 是弹出式菜单,例如一般以鼠标的右键或其他快捷键来激活菜单;菜单的位置是在屏幕上“浮动”的,根据鼠标的当前位置决定。


1.进入菜单设计器 Menu Designer

创建菜单时,首先要在窗体中放置一个菜单对象。然后调入 Menu Designer 进行菜单的详细设定。用两种方式可以进入 Menu Designer:选中菜单组件,单击属性中 Items 省略按钮;或在菜单组件上双击左键,就会出现 Menu Designer。


2.创建菜单的各个项目

进入 Menu Designer,会发现在菜单的第一项位置上有加亮显示。输入顶层菜单项(实际上是在设定顶层菜单项的 Caption 属性)并回车。一项菜单条设置完后,加亮显示的位 置被移至下拉菜单的下一项,同时,主菜单顶层上会出现虚线框,指示出下一个顶层菜单项的位置。要包含一个隔离条,可以输入“-”并回车。逐步输入菜单的各项,用鼠标左键切换到下一个顶层菜单,直到菜单完成。


3.设定加速键和热键

设定加速键,只需在输入时将“&”放到需要指定为加速键的字母前面,该字母将用下划线显示,运行时,按“Alt+加速键字母”可以激活该菜单条。设定热键也是很方便的,只需在 Object Inspector 中该菜单条的 ShortCut 属性值段的下拉菜单中,为它选定一个热键 组合即可。在运行时,通过“Ctrl+热键字母”来激活菜单条。加速键和热键并不矛盾,也可以同时指定它们。


4. 使用 Menu Designer 的弹出式菜单

Menu Designer 中还有一个弹出式菜单,它提供了高频菜单创建命令,并可以对模板选项进行快速访问。在菜单设计器窗口中右击,或将光标停在菜单设计器上,按 Alt+F10, 可以调出 Menu Designer 的弹出式菜单。使用 Menu Designer 的弹出式菜单中的 Insert From Template 可以向菜单添加菜单项、删除菜单项等操作,还可以对标准主菜单模板进行添加、 删除、插入等操作。为菜单编制功能。可以双击菜单条,或在特定菜单条的 Events 页上,双击它响应的事件的值段,Delphi 将回到代码编辑器,光标停在事件对应的事件处理过程中,可以为菜单 编制实现任务的代码。


如果已经为 Speed Bar 上的加速按钮编制了事件处理过程,而需要把相应的菜单项连接 到事件处理过程上,则只需在该菜单项的 Events 页的 OnClick 事件后,输入事件处理过程的名称即可。这样单击菜单项便和单击加速按钮实现同样的功能。

5.创建嵌套菜单

创建嵌套菜单也是重要的手段。Delphi 的嵌套菜单风格是嵌套菜单列在它上层菜单的边上。创建嵌套菜单,把加亮条移到它的上层菜单条上,按 Ctrl+→键,将弹出子菜单,就可以按照以上所述的方法进行创建工作了。


通过拖放操作,可以实现菜单条的重新定位。用鼠标左键按住某一菜单条,移动到菜单的某一位置,释放左键,菜单条即得到重新定位。菜单设计器允许菜单条在顶层下移动位置,支持菜单条在嵌套菜单中移进、移出,甚至可以将菜单条在各个顶层菜单下属的菜 单间移动与定位。


6.给菜单加提示(Hint)

在菜单中加提示是很好的习惯。这样在运行菜单功能前,可以对菜单的任务有一个简略的了解。在菜单条任一项的值段按 F1,可以查阅在线帮助,在帮助的正文中找到 OnHint 并查阅它的例程,将 DisplayHint 等方法的例程复制到程序中。然后,在菜单条的 Hint 属性中加入提示正文,运行时当用户将鼠标移到菜单项时,在窗体的底部状态行中会出现 Hint属性中的提示信息。


7.菜单的其他属性简介
菜单还有其他的一些属性。Enabled 属性决定菜单是否被禁用,这在编程中可以实现一 定情况下不允许使用某项菜单。Checked 属性表征了菜单项的开关情况,当 Checked 为 True 时,菜单条的前面会出现选中标志。Visible 属性控制菜单隐藏与否。设置这一属性可以实 现多版本的菜单。被隐藏的菜单项以及它的子菜单都是不可见的,或是不可访问的。


Popup Menu 在用 Menu Designer 时是完全相同的。只不过它在运行时和主菜单的激活形式有所不同:它是用鼠标的右键激活的。弹出式菜单在一定的窗口范围内激活,所以必须将窗口和弹出式菜单联系起来。在设计完 PopupMenu 后,须在 Name 属性中为它命名, 然后把这个名称赋给窗体的 PopupMenu 属性。这样,窗口会接收右键输入,并激活弹出式对话框。


关注微信公号“书问”,快去免费领取符合你目标的图书吧!


内容来源:书问

作者刘瑞河等
出版清华大学出版社
定价34元
书籍比价

分享到

扫描二维码 ×

参与讨论

电子纸书

Cocos2d-JS游戏开发快速入门到实战

何金成 著
清华大学出版社[2018] ¥38

Scala开发快速入门

周志湖, 牛亚真, 编著
清华大学出版社[2016] ¥32

风光摄影快速入门与实战提高

贾富, 王前辉
清华大学出版社[2016] ¥40

Qt编程快速入门

鲍忠贵,王涛,陈凌晖 著
清华大学出版社[2016] ¥18

电脑快速入门(Windows XP+Office 2003版)(第3版)

九州书源
清华大学出版社[2013] ¥20

PHP快速入门及项目实战

潘凯华, 等编著
清华大学出版社[2012] ¥20

炒股快速入门

陈建斌
清华大学出版社[2010] ¥13

Solidworks 2012中文版快速入门教程

赵罘,杨晓晋,刘玥 著
清华大学出版社[2013] ¥28

婚礼设计手绘快速表现

姚义琴, 编著
清华大学出版社[2018] ¥35

Unity3D平台AR与VR开发快速上

吴雁涛, 著
清华大学出版社[2017] ¥30

出版业领先的TMT平台

使用社交账号直接登陆

Copyright © 2018 BookAsk 书问   |   京ICP证160134号


注册书问

一键登录

Copyright © 2018 BookAsk 书问   |   京ICP证160134号