Delphi快速入门(连载)(精品)
delphi吧
全部回复
仅看楼主
level 13

一楼喂熊
2012年12月22日 12点12分 1
level 13

一些早期的具有OOP
性能的程序语言如C++,Pascal,Smalltalk
等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代码。Delphi
的推出,填补了这项空白。您不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给Delphi
去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,Delphi
将帮助您轻松地完成。它允许在一个具有真正OOP
扩展的可视化编程环境中,使用它的Object Pascal
语言。这种**性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。
1.2 Delphi
快速入门 
在这一节中,我们来开发一个小程序。随着开发的过程,逐步介绍Delphi
的主要部件及其操作方法。建议读者按照本书介绍的过程,在您的电脑上直接操作。您将对Delphi
的可视化编程有一个直观、快捷的了解,必将起到事半功倍的效果。 
1.2.1
进入Delphi
的可视化编程环境
1.2.1.1
安装Delphi
Delphi
的安装与其它应用软件并无不同。2.0
版必须在Windows 95
以上的操作系统中使用。启动Windows 95
或Windows NT
后,将Delphi
的光盘放入光驱(CD-ROM)
中,运行光盘上的\INSTALL\SETUP.EXE
文件,它的安装程序会提示您正确地装入Delphi
。如果您是在微软中文Windows
环境中安装Delphi
,请参照附录A
来设置您的BDE
环境,以便于处理中文数据。 
1.2.1.2
进入Delphi
环境
为避免隐藏在Delphi
后的Program Manager
和曾经运行过的其它程序扰乱版面,分散您的注意力,不妨在启动Delphi
前关掉其它应用程序;启动Delphi
后,再最小化隐藏在后面的Delphi 2.0
程序组。这样屏幕上就只留下Delphi
窗口可见了。
首次加载Delphi
,屏幕上会出现四个窗口:

标题为“Delphi-Project1
”的Delphi
主窗口
2012年12月22日 12点12分 3
level 13

● Object Inspector
窗口

标题为“Form1
”的窗体(Form)
窗口

标题为“Unit1.PAS
”的代码编辑窗口。刚启动时这一窗口的大部分被“Form1
”窗体所掩盖。将“Form1
”窗体移开,或单击Form1
窗体下方的状态行,可以使其全部可见。在“Form1
”窗体的任意可见位置单击鼠标,可以恢复主窗体可见
以下我们将对这四个窗口分别进行介绍。 
1.2.2 Delphi
可视化编程环境介绍 
1.2.2.1
主窗口(Main Form)
Delphi
的主窗口位于屏幕的上端,包括Menu(
菜单)
、Speed Bar(
加速条)
和Component Panel(
部件选项板)
。Menu
是下拉式主菜单。Speed Bar
位于主窗口的左下端,由两排共14
个加速按钮组成。这些按钮是菜单功能的快捷方式,各种图标直观地表示了它能执行的动作。Component Panel
由一行、若干页对象按钮所组成,利用它来选择需要的部件并将它放到窗体中去。 
1.2.2.2 Object Inspector(
对象检视器)
Object Inspector
窗口含有两页:Properties
页显示窗体中当前被选择部件的属性信息,并允许改变对象的属性;Events
页列出了当前部件可以响应的事件。按动Object Inspector
下端的“Events
”页标签,使得Events
页可见,这一定的事件后边的空白处,可以定义对象接受到相应事件时执行的动作。首次启动时,Object Inspector
窗口显示的是当前窗体Form1
的属性。Object Inspector
根据对象属性的多少,决定是否有滚行显示。移动滚行条,可以查看当前对象的全部属性。
此外,Object Inspector
上还有Object Selector(
对象选择器)
,位于Object Inspector
上方的下拉式菜单中。它显示了窗体上所有部件的名称和类型,也包含窗体本身。您可以用Object Selector
很容易地在窗体的各个部件之间切换,也可以快速地回到窗体本身。当窗体中含有较多的对象时,您会发现这是切换对象尤其是回到窗体的最快捷途径。
2012年12月22日 12点12分 4
level 13

想使Object Inspector
一直可见,可将鼠标移到Object Inspector
上,按动右键,以启动Object Inspector
的弹出式菜单,将其设置为Stay On Top
。这对初学者常是一个很重要的设置方式。 
1.2.2.3
窗体窗口 
Forms
窗口是开展大部分设计的工作区域。首次启动Delphi 2.0
时显示的是窗体Form1
。可以把部件放在窗体中,通过移动位置、改变尺寸等操作随心所欲地安排它们,以此来开发应用程序的用户界面。您可以把窗体想象成一个可以放置其它部件的容器。窗体上有栅格(Grids)
,供放置部件时对齐位置用,在程序运行时Grids
是不可见的。
一个真正的应用程序可能有不止一个窗口,您可以选用不同的窗体进行设计。其它窗体可以是对话框(Dialog Box)
、数据录入框等。 
1.2.2.4
代码窗口 
代码窗口一开始处于窗体窗口之下。因为在Delphi
中,设计用户界面直接在窗体中进行,运行结果和设计样板完全一致。当部件被放到窗体上时,Delphi
会自动生成大部分的用户界面代码。您所应做的只是在它为您生成的框架中加入完成所需功能的程序段而已。点动Form1
的状态行使代码窗口可见。
这个窗口中是代码编辑器。可以在其中书写Delphi
应用程序的源代码。当程序中含有不止一个窗口时,会有几个库单元的源程序出现在代码编辑器中。代码编辑器的标题条中显示了当前正在编辑的库单元文件名。要查看某一特定程序的源代码,只需用鼠标点动写有该库单元文件名的页标签,就可以对该库单元进行编辑了。
2012年12月22日 12点12分 5
level 13

1.2.3
设计简单的用户界面 
首先从空白窗体开始工作。我们将设计一个简单的程序:
在屏幕上开一个窗口,窗口中有一个图框,用三个按钮来改变图框的形状;再用一个图标按钮来进行图框的颜色设置,通过颜色编辑对话框来选择变成哪一种颜色。
在菜单上选用File|New Application
菜单项来生成新的工程文件。这时,屏幕上出现图1.2
所示的窗体。 
1.2.3.1
选取部件加入到窗体中 
部件(Component)
是建立Delphi
应用程序的要素。Delphi
为用户提供了丰富的部件库,既有可视的部件(
如编辑框、按钮)
等,也有不可视的部件(
如系统定时器、数据表等)
。它们按照功能分别排列在Component Panel
的各页上。
移动鼠标到Component Panel
上,在部件按钮上“犹豫”一、两秒钟,一个黄色小提示框就会弹出,写有该部件的名称,我们称之为提示(Hint)
。在要选择的部件上单击左键,则该部件按钮被按下,表示部件已被当前选择。然后,将鼠标移动到窗体上,按下左键,该部件被放到窗体中。部件的轮廓线上会显现八个被称为尺寸调整器(Sizing Handles)
的黑色小方块。它除了供用户调整尺寸使用之外,还可以表示该对象处于当前编辑状态。此时,按“Delete
”键可以将该部件删除。
在Component Panel
上,点动写有“Additional
”的页标签,切换到Additional
页,再移动鼠标,逐个用观看Hint
的办法查看部件的名称,找到“Shape
”部件(
其图标为圆、方形、三角形三个几何体)
,将其放到窗体的左方。
再按动“Standard
”页标签,找到“Button
”部件(
图标上画有OK
按钮)
。Delphi
允许在添加多个同类型的部件时,不必每次到部件选项板上选取。按住“Shift
”键,同时在“Button
”部件上单击鼠标左键,这时“Button
”部件处于按下状态,并有蓝色边框,表示已经被选择固定。依次在窗体右方的三个位置单击左键,则会放置三个相同的Button
部件。把鼠标光标移到部件选项板左侧的箭头图标处,这是“取消选择”按钮,它没有提示。按动它,会发现“Button
”部件按钮恢复弹起状态。否则,每次“Form1
”上的鼠标单击左键动作,都会导致增加一个按钮部件。
2012年12月22日 12点12分 7
level 13

再次进入“Additional
”部件页,选择一个“BitBtn
”按钮(
图标是有绿色对号的OK
按钮),
把它放到其它三个按钮部件的下面。
点动“Dialog
”页标签,选择以16
色网格做图标的ColorDialog
部件并把它放到窗体的任意位置。因为这一部件是不可视部件,所以它的位置并不影响大局。 
1.2.3.2
部件的调整与对齐 
一般来讲,此时放置到窗体的部件是分散排列的,而且其大小不是真正需要的尺寸。除了不可视的ColorDialog
部件外,其它的部件都需要进行位置、大小和显示字样的调整。Delphi
提供的对齐工具和窗口栅格为这些调整提供了方便。
1
、移动部件
只需把鼠标落到想移动的部件上,按住左键并移动光标,到合适的位置再释放左键,整个部件即被移到新位置。
2
、调整尺寸
先把鼠标光标移动到要改变尺寸的部件上,单击左键,选中该部件,尺寸调整器会出现,把鼠标移动到其中的一个小黑色方块上,当鼠标变成拖动方向指示时,按下并拖动鼠标左键,可以放大或缩小部件。上下左右的小方块用来移动对应的各边,四个角的方块可以移动相连的两条边。如果要精确地表述部件的尺寸,可以在Object Inspector
上,改变Left(
表示部件左边缘到窗体左边框的象素点数)
、Top(
表示窗体上边框到部件上边缘的象素点数)
、 Width(
部件本身的宽度)
、Height(
部件本身的高度)
等属性。关于改变部件的属性,下文还将仔细讲解。
3
、使得一组部件对齐
用调整位置的方法可以对齐部件,但操作步骤复杂。Delphi
提供的对齐工具可以使多个部件的对齐极为迅速方便。下面我们来使四个按钮对齐。先将四个按钮选为一组:按住并向右下方拖动鼠标左键,在窗体上画出围绕四个按钮的矩形,释放左键后,被选中的按钮周边会出现暗灰色的边框。选用Edit|Align
命令,或使用弹出式菜单(
在被固定的部件上单击鼠标右键激活)
,可以显示图1.4
所示的对话框。
要使按钮沿左边对齐并使它们在垂直方向上均匀分布,先在Alignment
对话框的Horizontal
栏内选择“Left sides
”,在“Vertical
”栏内选择“Space equally
”,按动OK
按钮,Delphi
就会自动将它们对齐。然后,您可以将它们四个作为一组来移动。在四个按钮以外的窗体上按动鼠标左键,就释放了组中的部件,使它们成为分立的部件。
2012年12月22日 12点12分 8
level 13

利用对齐模板来对齐部件也是很方便的。首先要将要对齐的部件选成一组,选择View|Alignment Palette
显示对齐模板。按照所示的方式选择即可达到对齐的目的
4
、锁定部件
如果部件已经对齐,为防止不小心移动部件,可以将部件位置锁定。选择主菜单上的Edit|Lock Controls
选项,使得部件不能进行移动操作。解锁只需再次选择此项即可。
调整“Shape
”部件的大小,使之与右边的按钮组相匹配。再改变窗体的大小,按住并拖动窗体右下方使之刚好包容窗体上的全部部件。这样,您的用户界面就会比较美观。 
1.2.3.3
保存所做的工作 
及时地保存所做的工作至关重要。对设计者来讲,有两个文件需要保存:库单元文件(
以.PAS
为后缀)
和工程文件(
以.DPR
为后缀)

从主菜单上选择File|Save Project As...
项,Delphi
会显示标题为“Save Unit1 As
”的文件保存对话框,Delphi 2.0
允许用户更改存储路径,您可以在下拉式列表框中选择。最好将您的文件保存在自己的目录中。在编辑框中键入demoform.pas
以保存库单元文件;然后显示标题为“Save Project As
”的另一个文件保存对话框,键入sample.dpr
。Delphi
保存这两个文件并返回窗体窗口。不要把库单元和工程存成一样的文件名,Delphi
要求两者不同。
第一次保存后,以后可以随时通过Speed Bar
中的“Save All
”和“Save file
”来保存工程文件和库单元文件。一般来讲,当确认文件的改变后,要同时存储这两个文件。 
1.2.3.4
运行工程 
以上的操作使您有了一个自己的应用程序界面。在速度条中按动“Run
”按钮(
绘有绿色三角图标)
,您可以看到,所生成的界面与您设计的界面是完全一致的。 
1.2.4
改变对象的属性
上述的工程虽能够运行,但它对您的按动按钮操作是没有什么反应的,而且,所有部件上还写着我们不需要的字样。双击窗口的关闭按钮结束运行,回到设计界面。下面,我们将仔细讲述如何在Object Inspector
中改变部件的各种属性。 
2012年12月22日 12点12分 9
level 13
1.2.4.1
用Properties
页改变部件的属性值 
首先要改变各种部件的标题。先给窗口命名为“Demo
”。按动Object Inspector
上端的Object Selector
的题条或者其右端的下拉标志,找到Form1
项,并点动左键,窗体被选中。在Object Inspector
的Properties
页中,找到Caption
属性并用左键选中,将其右端的Form1
改为Demo,
同时,您会发现窗体的标题已经相应地做了改变。
用鼠标点中窗体中的Shape
部件,Object Inspector
列出了它的属性。选中Shape
属性,您会发现右端出现了下拉标志。点动这一标志,可以查看对象的Shape
属性可选值。它的形状可以是矩形、圆形、圆角矩形、方形等几种。这是我们设计后续功能的基础。
选中Button1
按钮,此时Object Inspector
已经显示出此按钮的一应属性。将它的Caption
属性改为“&Rectangle
”,
“&
”号使得Delphi
特殊处理它后面的字符,在这里,按钮中的R
字母被做了下划线处理,运行时,可以用“Alt-R
”热键来按动这一按钮。同样,您可以将其它的两个按钮Button2
和Button3
的Caption
属性改成需要的形状指示,譬如“&RoundRec
”、“&Ellipse
”。 
1.2.4.2
设置窗体的缺省按钮 
可以把某个按钮作为窗口上的缺省按钮,Delphi
会为按钮加上有黑色的边缘。运行时,回车即相当于被按下。只需将此按钮的Default
属性从False
改成True
,即将它设为窗体的缺省按钮。点动Default
属性,在右端的值后面双击左键,或从下拉菜单中选取True
,即可改变这一属性。Delphi
中有许多只有True
、False
两个属性的部件,双击左键可以在这两个值之间切换
2012年12月22日 12点12分 10
level 13

1.2.4.3
汉化界面及字体选取 
如果您的Windows95
系统中安装了中文系统,对界面做汉化是极其方便的。例如,您可以将Button1
的Caption
属性改成“&R
矩形”,同样地可改变其它部件的属性,将窗体做成中文的操作界面。
若对中、西文字体不满意,则可以调整Font
属性以满足您的要求。Font
属性的前面,有一个小小的“+
”号,这说明它表征的是集属性,也即属性不再是一个单值,而是一个属性的**。双击Font
,Object Inspector
将在下面扩充显示它的其它属性。Color
用来表示文本的颜色,Name
定义了字体名,如System,MsSerif,Arial,
宋体,黑体等。Style
下又拥有四个属性:fsBold,fsItalic,fsUnderline
和fsTrikeOut
。如果想让字体有其中的某种风格,可把相应的属性值设成True

Font
对话框可以更为直接地设定以上属性。Font
属性右侧值段有带省略号的按钮,单击它可以激活Font
对话框,如图1.7
所示:
这一对话框中包含了上述的全部属性,使得调整字形更为直接方便。但要申明的是,对于窗体Form
来讲,Font
属性改变的是窗体中其它部件的显示字形,它本身的标题字体是缺省的System
字体,不能通过属性来改变。
1.2.4.4
使用图形编辑对话框 
最后,我们用图标按钮BitBtn1
来控制Shape
部件的颜色。选中图标按钮,将它的Caption
属性改为“&Color
”(
或“&C
颜色”)
。可以在按钮中加入一个图标来形象地表述它的功能。选用Object Inspector
中的Glyph
属性,点动值段的三点按钮,弹出图形编辑对话框。
您可以通过图形编辑对话框装入图标,在本例程中,按动Load
按钮,选择\Delphi 2.0\Images\Buttons\Brush.bmp
文件装入,Bitbtn1
就成为一个图标按钮。另外,Delphi
还为您提供了丰富的Windows
标准图标按钮。想运用它们,改变BitBtn
的Kind
属性。用户不妨尝试一下,选择其它值可以生成漂亮的标准按钮,如OK,Cancel
等等。这会使您在以后的程序开发中受益匪浅。
2012年12月22日 12点12分 11
level 13

至此,界面的设计工作就已完成了。运行一下观察效果,别忘记保存您的库单元文件、工程文件。 
1.2.5
编写事件处理过程 
完成用户界面,只是建立了一个“骨架”,下面要做的便是给程序加入“灵魂”,也即,使它能够完成所要求的功能。 
1.2.5.1
为用户操作建立“事件”
单击窗体上的“Rectangle
”按钮,在Object Inspector
中,点动“Events
”页标签,出现事件窗口。在本例程中,我们只关心OnClick
事件,即按钮接收到左键单击时应用程序所作出的反应。在Object Inspector
窗口中双击OnClick
事件右端的值段,会使得Delphi
激活库代码编辑器,并将光标停在该按钮所对应的过程的begin...end
之间。“Rectangle
”按钮的功能是使Shape
部件的形状为矩形。联系前文我们查看过的Shape
部件的“Shape
”属性,现在,我们要做的是在程序中控制部件的属性。
在光标处键入以下的程序段: 
  Shape1.Shape := stRectangle; 
用同样的方法,在Button2
和Button3
的OnClick
事件响应内复制以上语句,并分别将赋值号后的属性值改为stRoundRect
和stEllipse
。为防止输入错误导致程序运行出错,建议您使Shape1
部件的Object Inspector
可见,检视属性Shape
的各个值并对应输入。
  在代码编辑器中,Delphi
自动建立的过程以关键字Procedure
开头,用户可以在begin
…end
之间加入自己的程序,也可以定义变量。这个程序块对用户的外部事件(
此例中是按动按钮)
进行响应。我们称之为事件处理过程。 
1.2.5.2
使用颜色编辑对话框 
图标按钮“Color
”要控制部件Shape1
的颜色,我们可以调入颜色编辑对话框,用以选择要变成的颜色。这时就要用到运行时不可视的部件ColorDialog
了。同样地使图标按钮BitBtn1
响应OnClick
事件,在它的过程中加入以下的语句:
2012年12月22日 12点12分 12
level 13

  ColorDialog1.Execute;
  Shape1.Brush.Color := ColorDialog1.Color; 
这样,图标按钮的功能也就完成了。
初学者可能对这样的程序段不能理解。其实也是十分简单的。查看ColorDialog
的Brush
属性,就会发现它是个集属性,在其下还有一个Color
选项,正是我们想改变的属性。既然我们想将图形的颜色变得更加丰富多彩,它本身提供的几种颜色就已不能满足要求了。用颜色编辑器可以得到更多的色彩。程序的第一句用Execute
方法,使得ColorDialog
运行它本身。当用户在对话框中进行操作,选定了一种颜色时,即使得TColorDialog
对象的一个属性Color
置为选定颜色的值。将此值赋给Shape1
的Brush
属性的子属性Color
,就将选定的颜色加到了图形上。
读者的要求可能会是,怎样尽快的了解这些这些方法、属性和域呢?下文对使用联机帮助的简单介绍可能会对您有所裨益。 
1.2.6
使用联机帮助Help
事实上,使用联机帮助是您全面地了解可用的方法、对象的域、属性等信息的最快捷途径。您还可以参考Delphi
给定的例程。较为简单有效的方法是使用Help
中的搜索功能。如果您对一个对象知之甚少,选用主菜单中的Help|Help Topics
项,在弹出的帮助对话框,选用Indexes(
“索引”)
页,Delphi 2.0
会提示您输入要检索的主题。以您想用的部件的对象名作为检索主题词,可以参阅很多基本的信息。例如,上文的例程中,在编辑框中键入对象的名称TColorDialog
,在词条中就会出现该主题,按动Display
按钮显示出TColorDialog
的帮助信息。查看method,
可以找到能应用在CclorDialog1
上的方法Execute;
仔细阅读它的功能,上述的编程便不难理解了。Properties
中提供了部件的所有属性,在关键属性Key Properties
前加上了“金钥匙”,提供了详尽的说明。在Task
中您可以查阅该对象的其它相关主题,还可以参阅Example
中的应用例程。用帮助窗口的Edit
各种功能进行复制、剪贴等操作。
如果您已经对对象有一定的了解,想查阅它的具体方法、域等,可以直接用主题词进行检索。 
2012年12月22日 12点12分 13
level 13

以上,我们已经完成了简单的例程。运行您的程序,选用各个按钮改变图形的颜色和形状。如图1.9
所示。虽然它只是一个“小玩具”,却直观地给您一个用Delphi
编程的印象。对比一下您亲手编制的程序量和程序的功能,您就会理解Delphi
为程序员提供了怎样的方便。
1.3 Delphi 2.0
的可视化部件用法简介 
本节中,我们将较为深入地讲解Delphi
的部件。这是编制大型复杂应用程序的必由之路。下面,我们将对各种部件分类进行简单的介绍,以便于您在编程时能够较快地了解有哪些部件可能会满足您的要求,并对其重要的方法、属性等有一个大致的了解。
  基本技巧、工具的介绍在本章的第4
节中,交互阅读这两部分,多创制几个试验程序,有助于您迅速进入Delphi
世界,尽早将这一精妙软件用于实际工作中。 
1.3.1
常用的文本相关部件 
以下的部件以各种格式显示文本,其中有些是文本和数据输入的途径。它们是Label(
标签)
、Edit(
文本编辑)
、MaskEdit(
格式编辑)
、Memo(
备注)
、List Box(
列表框)
、Combo Box(
组合框)
。除了MaskEdit
在Additional
页之外,其它的都在Standard
页中。 
1.3.1.1 Label
部件 
Label(
标签)
一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示,也可以用来显示其它信息。您可以在标签中设置热键,也即在Caption
属性值段中输入含有“&
”的字串,当用户使用“Alt+
关键字母”时,将自动选中它所指向的对象。方法是设置Label
部件的FocusControl
属性,在值段中,选用与它关联对象的对象名。 
1.3.1.2 Edit
、MaskEdit
和Memo
部件
Edit
、MaskEdit
、Memo
部件都是用作接收、显示用户输入文本的。它们具有一些相同的属性。ReadOnly
在运行时间内控制对象是否可以进行Windows
的操作,当此值为False
时,该框内的文本就不能被复制到剪贴板上。MaxLength
可以设置输入文本的长度限制。用PasswordChar
属性可以按照显示隐蔽密码的方法显示用户输入文本,例如,它的缺省值为“*
”,运行时,您的输入将用“*
”来显示,从而提供了一种安全措施。您可能也发现了,当一个字段被加上高亮度显示时,按键操作会将这一字段删除,替换成当前的键盘输入。这种设置为操作提供了方便,您不必每次先删除原来的文本;但也可能会导致误删文本。将AutoSelect
属性设置成False
,这种替代功能就被取消了。
2012年12月22日 12点12分 14
level 13
MaskEdit
是格式文本输入对象。它的EditMask
属性为它提供了过滤文本的格式。点动这一属性的省略按钮,会弹出过滤编辑对话框,除了Delphi
为您提供的几种屏蔽格式,您也可以自己编写,查阅“帮助”,会为您提供更详细的用法介绍。
Memo
是备注框,与以上对象不同的是,它可以接收多行文本输入。将ScrollBars
设置成ssVertical
,可以为它加上一个垂直的滚行条。Align
属性调整该对象在窗口中的对齐情况,有alNone(
无对齐指定)
、alBottom(
底部对齐)
、alClient(
全窗口显示)
等可以选择;而Alignment
属性则决定了文本在框中的对齐显示格式。Lines
属性访问的文本被存储在一个TStrings
对象中,按动它的省略按钮,可以通过对话框向它增加文本,也可以用程序对这一属性进行操作,以达到修改或增加备注文本的目的。 
1.3.1.3 List Box
和Combo Box
部件 
List Box(
列表框)
和Combo Box(
组合框)
都显示列表项目,所不同的是组合框占用较少的空间。常见的Windows
操作系统中,显示可用磁盘驱动器时,用的就是组合框。列表框则提供了一个项目列表以供选择,如Windows
打开文件操作时显示文件列表的就是List Box

  下列程序段将Edit1
的文本加入到ListBox1
中,并清空Edit1
中的文本: 
 procedure TForm1.AddButtonClick(Sender:TObject);
 begin
ListBox1.Items.Add(Edit1.text);
Edit1.Text :=
‘’;
 end;
常见的组合框初始化用以下的语句可以实现,它用下拉式列表框的第一项来初始化组合框的缺省值: 
procedure TForm1.ComboBox1Text(Sender:TObject);
begin
if ComboBox1.Text =
‘’then
ComboBox1.Text := ComboBox1.Items.String[1] ;
   end;
以上就是文本输入的基本部件。 
2012年12月22日 12点12分 15
level 13
1.3.2
按钮和检查框部件 
1.3.2.1 Button
和BitBtn
部件
按钮是Windows
常用的部件,前文的例程中我们已经基本掌握了Button
和BitBtn
的主要用法。它们一般用在对话框中,做为执行某种功能的指示。您也可以为它们设置内置返回功能,将ModelResult
属性加以匹配,可以不用编程,直接实现系统内置的功能,这一点上和Kind
属性颇类似。 
1.3.2.2 Speed Button
部件 
Speed Button(
加速按钮)
部件在Additional
页上,是进行工具条快速设计的理想部件。它只有一个位图,没有标题。需要提起读者注意的是,用多个Speed Button
制作一个工具条时,必须先放置一个窗口类部件,如Panel(
操作板)
、Group Box(
群组框)
等。否则试图将加速按钮先制作好再移上去,您会发现它会总是处于窗口类部件下面不可见。当然,您可以对加速按钮进行复制、粘贴到窗口类部件上处理,那就另当别论了。 
1.3.2.3 Check Box
与Radio Button
部件 
Check Box(
检查框)
和Radio Button(
无线按钮)
部件通常是相提并论的,多用作接收用户“是”或“否”的输入判别。它们一般都是成组的放置在Radio Group
或Group Box
部件中。所不同的是,成组的Radio Button
是“互锁”的,用户选择定一个后,其它的将自动设置为不选;而Check Box
部件则是分立的,您可以同时选中其中的几个,也可以一个都不选。 
1.3.3
分组、分界部件 
分组部件把其它的部件组合成一组,例如上述的无线按钮部件Radio Button
,就需要放入以下的成组部件中。分界部件用于在窗口中产生边界和区域,以区别于其它区域。 
1.3.3.1 Group Box
、Radio Group
及Panel
部件 
Group Box(
群组框)
、Radio Group(
选项按钮组)
部件都可以将部件分类、成组。它们都有标题,可以用文字表征成组部件的标题或信息。Radio Group
可以进行Column
和Item
属性的设定,以决定其上的无线按钮的提示文本及显示格式。Panel
部件也可以达到将部件分组的目的。通过编程向窗口加一个操作板部件,以书写提示和帮助信息,也不失为一种好方法。以上三个部件都在Standard
页。 
2012年12月22日 12点12分 17
level 13
1.3.3.2 NoteBook
、TabSet
及TabbedNoteBook
部件 
记事本部件NoteBook
一般和标签集部件TabSet
共同使用,用来创制含有标签的重叠多窗体窗口。Pages
属性包含了一个页名列表,在编程时,将TabSet
的Tabs
属性设置成NoteBook
的Pages
属性,就可以使页标签和相应的窗体对应起来。
另外一个部件TabbedNoteBook
是带有标签的多窗体窗口,不过,它的页标签设在窗口的上面。它们相当于多个分组部件的**,每次查看其中的一页。以上三个部件在Win 3.1
页。
在Win95
页上还有TabControl
、PageControl
等部件。它们对于生成Windows 95
风格的标签集是很重要的。 
1.3.3.3
分界部件 
在Win 3.1
页上,还有Header(
表头)
部件,它在窗口中产生一个凸起的题条,提供了一个可视化的文本显示区域。Additional
页的Bevel(
立体框)
部件提供了一个方框,它的单一线条或整个边框都可以通过Style
属性设置为外凸或内凹,可以美化窗口。在Win95
页上,HeaderControl
、StatusBar
等部件,为您使用Winows95
风格的界面提供了重要元素。 
1.3.4
图形、图象部件 
1.3.4.1 Image
部件
图象部件Image
在Additional
页上,用来在窗口中显示一幅图片,可以在picture
属性中调入图象文件。Delphi
支持位图(.BMP)
、图标(.ICO)
、图元(.WFM)
三种文件格式。比较重要的属性是Autosize
和Strech
。它们决定了图象在窗口中的显示尺寸。Autosize
属性为True
表示按原尺寸显示,Strech
属性为True
表示图象按对象图框的大小显示,这时图象的大小可以人为改变。
2012年12月22日 12点12分 18
level 13

1.3.4.2 Shape
部件 
图形部件Shape
在前文中我们已有了解,它可以处理多种几何形状,通过设置Pen
和Brush
的嵌套属性,可以设置图形边框颜色、线型及图形的风格、填充方式、贴图方式等。 
1.3.4.3 PaintBox
部件 
在System
页上还有一个PaintBox(
绘图框)
部件,它在窗体上为您提供一块可供绘图的区域。这一部件需要编程实现它的功能,一个只有在运行时才有效的重要属性Canvas
是完成绘图的关键。PaintBox
部件不能单独存在于窗体中,必须把它放在固定的分组部件中。 
1.3.5
关系图、文件列表部件 
1.3.5.1 OutLine
部件 
OutLine(
略图)
部件在Win 3.1
页上,它适用于显示分层的数据、文本。在Delphi
中,略图部件具有很宽的设置范围。它的Lines
属性可以设置每一词条的文本或数据。一般一个空格相当于一个层次,如果在项目前加一个空格则表示它处于树的下一层。所以在进行Lines
属性编辑的时候不能用Tab
键。在编程时用Lines
和Items
属性来访问略图的名称、索引及完整的路径名。OutLineStyle
属性用来配置显示时关系图的风格,您可以选定用旁边有图标的缩进方式,也可以选择连线方式。 
1.3.5.2
目录访问部件 
Delphi
为您提供了强大的文件目录访问部件。您可以针对具体的用途设计自定义的文件对话框。在部件选项板上选中System
页,您将发现这些部件,它们是文件列表框FileListBox
、目录列表框DirectoryListBox
、驱动器下拉式列表框DriveComboBox
和过滤式下拉列表框FilterComboBox
部件。
文件列表框部件FileListBox
显示当前目录中的文件,缺省的设置是显示所有文件。通过改变Mask
属性来设置过滤器,可以适用DOS
的标准通配方式,选择要显示的文件名。当指定多个过滤器时,之间用“;
”隔开。
2012年12月22日 12点12分 19
level 13

目录列表框部件DirectoryListBox
显示当前驱动器内的目录,并且允许用户在程序执行时切换目录。Column
属性决定目录在窗口中用多少列进行显示,当窗体空间不够时,用几列进行显示将有助于全面地显示目录信息。在Delphi
中,当窗口空间显示不下全部信息时,将自动加上滚行条,以方便用户的操作。
驱动器下拉式列表框部件DriveComboBox
显示当前所在的驱动器,并且在执行时允许用户在驱动器之间切换。作为程序员在应用这一部件时,应考虑当用户选择到不存在的驱动器时,进行容错、提示处理。
FilterComboBox(
过滤式下拉文件列表框)
部件显示当前文件过滤器类型,例如*.*
,*.pas
等。在执行时允许用户在下拉列表中选择要显示的文件类型。对Filter
属性进行初始化,就会得到下拉式列表。
除了以上的四个部件外,在Sample
页上,Delphi
还提供了一个目录略图部件DirectoryOutline
。它将当前磁盘中的目录结构显示成一个多层次的略图,也允许用户在运行时进行目录的层次显示切换。 
1.3.6
滚动部件 
1.3.6.1 ScrollBar
部件 
ScrollBar(
滚行条)
是在Windows
应用程序中常见的结构,在Delphi
中多数部件有自己的是否加入滚行条的属性ScrollBar
,但一个独立的滚行条部件仍是很有意义的。它在部件选项板的Standard
页,提供一种可以改变菜单或是画面中可见部分的工具,可以以一定的增量在一定范围内滚动。Position
属性是个整形值,如果需要以动态的方式显示滚行条,可以在程序中通过操作这一属性来实现。 
1.3.6.2 ScrollBox
部件 
ScrollBox(
滚动框)
部件是加上了水平、垂直滚行条的群组框部件,它在Additional
页上,用作在窗体中提供一个可以多方向滚行的工具。如果您只想显示较大幅面的一个部分,并允许您的用户对其进行滚行操作,ScrollBar
将是理想的选择。您可以先在全幅面的滚动框中进行全面设计,然后适当地缩小外框,两个方向的滚行条将自动显示。它的Position
属性是集成在HorzScrollBar
和VertScrollBar
两个集属性下的,编程时,可以选定这两个属性进行操作。 
2012年12月22日 12点12分 20
level 13
1.3.6.3
几个进度显示部件 
在System
、Sample
、Win 95
、OCX
等页上,Delphi
还为用户提供了几个部件,完成显示进度,增量等操作。部件Gauge
可以显示成长条状的或饼状的进度指示仪表。例如在安装软件时,可以编程让这一部件显示目前安装的百分比。
  微调按钮部件SpinButton
含有指示向上、向下的两个按钮,它可以用来调节数值,使被控制的值按一定的增量单位,由用户操作递增或递减。
  微调编辑框SpinEdit
是微调按钮和编辑框的结合,它在编辑区域显示了数值,又在右侧设了微调按钮,使得用户选择调节按钮或改变数值的方式,来调整数据的值,并返回Value
属性。
其它的此类部件,因篇幅限制,此处不做赘述。具体部件的信息,按照名称在在线帮助中查询其方法、域及应用实例,可以得到详细应用资料。
1.3.7
网格、表格部件 
在Additional
页中,还有字符串表格部件StringGrid
,绘图表格部件DrawGrid
等。它们可以用来模拟按网格排列的事物,如成排的按键、操纵钮、字符串等。属性RowCount
和ColCount
设置了在网格中显示的行列的数目,设置FixedCols
和FixedRows
的值,可以固定一些行列避免运行时被用户改变。Options
集属性含有字符串表格部件的显示方式、操作方式等,可以查阅帮助获得详细的信息,此处不再一一表述。
图形表格部件DrawGrid
使得用户可以用表格的方式显示非文本的数据,它的应用面比字符串表格部件更为广泛,可以把图片和文本一起放在网格中。
颜色网格部件ColorGrid
在Sample
页上,它提供控制前景色和背景色的界面,通过属性ForeGroundColor
和BackGroundColor
可以访问到,也可以通过程序,把得到的颜色赋值给其它对象的颜色属性。
Sample
页的日历部件Calendar
也是用表格的方式表现的,它提供了一个简单的以月份为库单元的日历表格,通过设定Year
和Month
的值,可以得到相对应的月份的日历。 
2012年12月22日 12点12分 21
level 13
1.3.8
多媒体(MultiMedia)
和OLE
部件 
媒体播放器部件MediaPlayer
和OLE
部件可以在System
页上找到。媒体播放器部件在处理多媒体文件时很有用。它显示一个VCR
风格的控制面板,让您记录或播放多媒体的图像、声音文件。您可以通过属性的设定来控制部件上的各个按钮,如改变显示颜色、增减按钮数目等。改变一下ColoredButtons
、EnabledButtons
、VisableButtons
的各个子属性值,您就不难发现它们控制的显示效果。具体的应用已经超过本简介的目的,请参阅帮助以及后文的详细介绍。
OLE
客户端部件OLEContainer
在窗体中创建一个OLE
用户区域,用于与Delphi
外部的某个对象进行接口。若对外部的Paradox
表格、Word
文件、扩展页等进行操作,则对象本身的应用程序必须支持OLE
操作。Delphi
提供了支持OLE
应用的对象清单,单击ObjClass
属性的省略按钮,就会显示出来。具体的应用,请查阅帮助或阅读后文的详细阐述。 
以上,我们介绍了Delphi
的基本可视部件。读者可能会发现,在Stardrad
页最前面的两个部件MainMenu
和PopupMenu
还没有提及。因为这是建立菜单的重要、基本操作,我们将在下一节中做详细的介绍。另外,在下文中,我们还将介绍比较重要的不可视部件。至于数据库部件、动态数据交换DDE
部件等,因为在后面章节中有详尽的用法介绍,此处不赘述。 
1.4
使用非可视部件 
上一节介绍的各种部件,在设计和运行时的形式是一样的。本节所介绍的部件,在运行时被隐蔽地嵌入到窗口中,它们本身并不做任何事情,必须被用户的程序所支持才能发生作用。因为部件的设计形状和运行状态并不相关,所以,这种部件在设计窗体中的位置无关紧要,可以放在窗体上不影响其它可视部件的任何位置。这种部件,称之为非可视化部件。
首先,介绍在Standard
页上的重要部件主菜单MainMenu
和弹出式菜单PopupMenu
的详细用法。 
2012年12月22日 12点12分 22
level 13

1.4.1
使用菜单部件 
菜单部件含有内置的交互设计器。在设计菜单时,可以用菜单设计器Menu Designer
进行工作。
应用程序的菜单有两种形式:MainMenu
是一般的Windows
用户界面必须的部件,它显示在固定的位置,一般用键盘和鼠标左键来激活菜单的功能项;PopupMenu
是弹出式菜单,例如,我们前文的小例程在对齐部件时用到的Delphi
菜单,就是弹出式的。一般以鼠标的右键或其它快捷键来激活菜单;菜单的位置是在屏幕上“浮动”的,根据鼠标的当前位置决定。
以下,我们将MainMenu
和PopupMenu
统称为菜单。 
1.4.1.1
进入菜单设计器Menu Designer
创建菜单时,首先要在窗体中放置一个菜单对象。然后调入Menu Designer
进行菜单的详细设定。用两种方式可以进入Menu Designer
:选中菜单部件,点动属性中Items
省略按钮;或在菜单部件上双击左键,就会出现Menu Designer

1.4.1.2
创建菜单的各个项目 
进入Menu Designer
,会发现在菜单的第一项位置上有加亮显示。输入顶层菜单项(
实际上是在设定顶层菜单项的Caption
属性)
并回车。一项菜单条设置完后,加亮显示的位置被移至下拉菜单的下一项,
同时,主菜单顶层上会出现虚线框,指示出下一个顶层菜单项的位置。要包含一个隔离条,可以键入短划横“-
”即减号并回车。逐步输入菜单的各项,用鼠标左键切换到下一个顶层菜单,直到菜单完成。 
1.4.1.3
设定加速键和热键 
您可以设定加速键,与前文的例程相同,只需在输入时,将“&
”放到需要指定为加速键的字母前面,该字母将被用下划线显示,运行时,按“Alt+
加速键字母”可以激活该菜单条。设定热键也是很方便的,只需在Object Inspector
中该菜单条的ShortCut
属性值段的下拉菜单中,为它选定一个热键组合即可。在运行时,通过“Ctrl+
热键字母”来激活菜单条。加速键和热键并不矛盾,您可以同时指定它们。 
1.4.1.4
使用Menu Designer
的弹出式菜单 
2012年12月22日 12点12分 23
1 2 3 4 5 6 尾页