Delphi组件参考大全
《Delphi 组件参考大全》全面、系统地介绍了Delphi组件以及它们的应用,是一本全面、系统的组件参考大全。《Delphi 组件参考大全》通过大量的示例、典型实例帮助读者透彻理解Delphi组件及其应用。全书共分19章。主要包括组件的基础知识和共用的属性、事件和方法、Standard组件页、Additional组件页、Win32组件页、ADO组件页、Dialogs组件页、Win 3.1组件页和Rave组件页中的大部分组件及System组件页、DataAccess组件页、Data Controls组件页、DataSnap组件页、BDE组件页、Samples组件页、Indy Clients组件组徘础些组件做了分类处理,方便程序设计师快速地取用这些组件,不会像其他的可视化开发工具每次找组件都非常麻烦,一点效率都没有。而且 Delphi将这些分类过的组件以分页的显示方式摆置,所以只占据屏幕的一小块位置,节省宝贵的屏幕空间。对于 Windows的程序设计师而言,永远嫌屏幕太小,摆不下所有用到的窗口,这时只需要点选组件面板右端的3个箭头,就可以选用其他页标签的组件。Delphi将这组VCL组件分成两种模式,一种是可视化的组件,另一种是非可视化的组件。所谓可视化的组件是指设计时期放置在Form上的组件外观和运行后的组件外观是一致的,可以直接设置组件的属性并加上事件处理过程,对象的外观将会随着属性的改变而有所不同,如Stand、Win32、 additionaly、 Data controls页标签内的组件;而非可视化的组件在设计时期可以看到小图标出现在Form上,也可以直接设置其属性并加上事件处理过程,但是不能改变外观,而且运行后会看不到组件的样子,可是组件仍在运行,如 Data access、 Dialogs页标签内的组件。在图1.1所示的窗体中,①表示的组件为非可视化组件,其大小固定,不可改变;②表示的组件为可视化组件。整个ⅤCL组件厍内的所有组件都是利用继承特性产生的,所以这些组件可能因为继承的对象不同而有不同的功能及特性。例如,继承自 Tbutton control对象的 TButton、 tbitbtn、RAdiobutton等对象,都具有命令按钮的特性:;而继承自 TGraphic Control对象的 BEvel、IMage、 SHape等对象,都具有图形的特性功能。一般地,可将这些对象的继承关系,创建成幅树状结构的关系图,从这张图中可以发现,整个VCL所包含的对象功能特性都是根据上层的几个基本对象而定的,如一些非可视化组件大部分都是继承自 COmponent对象,而一些可视化组件大部分都是继承自 TControl对象。在进行程序设计时,如果希望直接继承ⅤCL内的组件来编写自己的组件,那么这份VCL的继承关系图将会非常重要。学钻帐收银管理回口x结帐[A]优惠结帐打折结帐[!金员结帐会员挂帐【]!免单[鳳用箱号[]恢复使用①非可视化组件在设选择大厅:5m查找指定箱号计时期可以看到小图准备结帐的箱号及消费标,也可以直接设置其②可视化组件,设计时全客标记衣拒箔号所在大属性及进行事件处理,号衣柜期与运行时均可见,设计但是不能改变外观。而■时可直接设置组件的属且运行时组件也不可见性与事件处理过程加入结帐箱号田x出帐号皿单位单价量金额状」2002年02)UZ1:3y:52图1.1应用程序中的窗体1.3界面设计基础③界面设计一般是以选定的界面支持系统为基础,利用它所支持的界面成分,构造一个满意的程序界面。目前,在程序界面的开发中最受欢迎的支持系统是将视窗系统、图形用户接口e ips组種参考大全编程语言、可视化开发工具与类厍融为一体的可视化编程环境。在可视化开发环境中,程序员可以直接使用开发环境提供的各种组件拼凑、绘制所需的界面。在一些RAD开发环境(例如Delphi、VB)中,程序员甚至不需运行程序,在设计时便能观看到界面的效果。14组件分类初学 Delphi的人可能分不清组件与控件的区别,在此作者做一下介绍。控件是从组件继来的,即所有的控件都是组件,反之,所有的组件不都是控件。控件与组件的区别在于它提供了运行时可见的功能,因此,在组件类中提供了与位置有关的属性、与显示有关的方法以及与鼠标有关的事件等。在 Delphi中,组件分为窗口组件与图形组件两大类。窗口组件具有 Windows句柄,能够获得焦点。图形组件又称为非窗口组件,没有 Windows句柄,占用的资源要比窗口组件少,此外,图形组件的重画速度要比窗口组件快得多1.5组件命名约定在开发程序时会用到许多组件,一般应更改默认的组件名称,使其具有一定含义。这样,不但有利于编写代码,而且会提高程序的可读性。例如图1.2所示的窗体界面,可以将编辑框组件分别命名为 OperatorBH、 OperatorMO、 OperatorMM、 OperatorQX。k操作员信息管理回区燥作员名称操作员密码操作员权限图1.2操作员信息管理16组件的Tab键的顺序将窗口组件放置在一个窗体或容器中时,设置Tab键顺序可以使每个组件在创建时被有序化。用户在运行程序时,可以按Tab键切换窗口组件的焦点。如果想修改窗口组件的Tab键顺序,可以设置 TabOrder属性,Tab键的控制次序是从0开始的,因此,Tab键控制次序中的第I个组件的Tab键顺序为0。窗口组件有一个 TabStop属性,该属性用于确定用户按Tab键是否可切换焦点。如果该属性为 False,窗口组件不处于Tab键的控制顺序中, Laborde属性无意义7关于焦前面已经介绍过只有窗口组件才具有焦点。当窗口组件获得焦点时,该组件将成为当前组件。用户可以通过转移窗口组件的焦点使其他窗口组件成为当前组件。组徘础18使用组件数组18.1使用组件数组的原因在开发程序的过程中经常会在窗体中放置多个同类组件。例如,在窗体中放置多个编辑框组件。如果要清空这些编辑框中的内容,可能会使用许多话句来为每一个编辑框清空文本,这样做显然很麻烦。如果使用组件数组,将组件数组中的元素指向相应的组件,那么就可以使用循环语句来清空每一个编辑框中的文本,省去了大量语句182定义组件数组定义组件数组与定义普通数组类似,只是数组的类型为组件类型。示例如下:SArray Edit: Array[0.3 Jof TEdit;静态组件数组DArrayEdit: Array of TEdit;动态组件数组在上面的示例中,分别定义了一个静态组件数组与一个动态组件数组,在使用动态组件数组前需要设置数组的长度,即设置数组的大小1.8.3典型实例下面给出小组件数组的应用实例代码,具体设置如下Forml: tformlSArrayEdit: Array [0.3 ]of TEdit;DArray Edit: Array of TEditimplementationiSR . dfm iprocedure TForm l. ButtonI Click( Sender: TObject);bFori:=0 to 3 doSArray EditiClearprocedure TForml Form Create(Sender: TObject)SArrayEdit[O]SArrayEdit [21: = EditSArrayEdit [31: Edit4SetLength( DArrayEdit,4y设置动态数组的长度procedure TForm l Button2 Click( Sender: TObject);vanIntbeginDArray Edit[O]: = Editl;DArray Edit[1: = Edit2DArray Edit[2]: EditsDAray Edit[ 3]: EditFori:=0 to 3 dDArray Edit[].Text: 0;1.9调整组件布局19.1统一组件尺寸1.按比例调整组件尺寸在窗体中按住 Shift键,然后单击窗体中的组件,使组件处于选中状态,如图1.3所示。phy组作考大全按比例调整控件大小①按住Shi键,单击编辑框组件,使其处于选中状态flip Chili②用鼠标右键单击被选中的编辑框,将Ci k Scale弹出一个快捷菜单Add to Deposi③在快捷菜单中单击 Position Scale菜单项,打开“ Scale”对话框④在编辑框中输入要调整的比例,单击K按组完成设置图1.3按比例调整组件大小2.按尺寸调整组件大小在窗体中按Ctrl+A组合键选中所有组件,如图14所示7比例调整控件大小区正d①用鼠标右键单击Flip Efren被选中的编辑框,将据 Creation or der弹出一个快捷菜单②在快捷菜单中单击 Positiona5 TeNsize菜单项,打开“size”窗口③选中wdth选项与C No chageHeight选项,在编辑框中输入调整的宽度Grow bo large:rge:t与高度,单击“ok”下o Height: 122-按钮完成设置Help图14按尺寸调整组作大小1.9.2调整水平和垂直间距1.使用 Alignment对话框在窗体中经常会有许多组件,如果用鼠标拖动来调整组件的位置,可能不会很整齐。此时按住Shif键,用鼠标单击要对齐的组件,此时,被选中的组件的焦点会变成灰色。然后释放Shift键,用鼠标右键单击其中一组件,将弹出一快捷菜单,选中 Position Align菜单项,打开对齐面板,在其中可以设置组件的各种对齐方式,如图1.5所示组础Alignmentr Right sidesHelp图1.5组件对齐方式组件对齐面板分为两部分: Horizontal、 Vertical,即水平对齐设置、垂直对齐设置。在orizontal面板中共有6个选项,其意义如下。● No change组件的水平位置不改变。● Left sides组件居左对齐。● Centers组件在水平位置居中对齐,用于调整多个组件的位置● Right sides组件居右对齐。●S组件水平间距均匀对齐。● Center in window组件在水平位置居中对齐在 Vertical面板中共有6个选项,其意义如下。● No change组件的垂直位置不改变S组件居顶部对齐,用于调整多个组件的位置组件在垂直位置居中对齐,用于调整多个组件的位置。● Bottoms组件居底部对齐,用于调整多个组件的位置e Space equally组件垂直间距均匀对齐。● Center in window组件在垂直位置居中对齐2.使用对齐面板Nien使用对齐面板可以调整选中组件的位置,使其以某个组件为基回已准对齐单击Vwm单项可以打开对面板,如|d图1.6所在对齐面板中共有10个按钮,含义如下图1.6对齐面板e ips组種参考大全被选中的组件以第一个被选中组件的左边线为基准对齐。水平移动被选中的组件,直到它们的中心位置与第一个被选中组件的中心位置对齐彐移动被选中的组件,使它们对齐到水平线的中心水平对齐3个或3个以上被选中的组件,使中间组件与外部组件的水平距离相等被选中的组件以第一个被选中组件的右边线为基准对齐被选中的组件以第一个被选中组件的上边线为基准对齐垂直移动被选中的组件,直到它们的中心位置与第一个被选中组件的中心位置对齐。移动被选中的组件,使它们对齐到垂直线的中心垂直对齐3个或3个以上被选中的组件,使中间组件与外部组件的垂直距离相等。被选中的组件以第一个被选中组件的底边线为基准对齐。1.10锁定组件布局当设计好程序界面时,为防止不小心修改程序界面,可以锁定窗口的布局。单击 Edit LockControls菜单项锁定窗口中的组件,这样,就无法拖动窗口中的组件,再单击 Edit Lock Controls菜单项,即可解除锁定。③8第2章■组件的公用属性组件的公用方法公用属性、方法和事件■组件的公用事件e ips组考大全2.1公用属性每个组件都有其特定属性,但有些属性对所有的组件都是通用的。下面列出一些通用的属性并附有简短的说明,如表2.1所示。表21大多数组件共有的属性属性用范国功能简述Action些组件标识与组件连接的活动对象些组件确定空间在其父组件区内的对齐方式AutoSize些组件说明组件是否可以根据其内容确定自己的大小Boundrect所有组件定义组件矩形连框(运行时用)Compenent Count所有组件当前组件拥有的组件数目(运行时用)ComponentIndex所有组件当前组件在父组件列表中的位置(运行时用)Compenents所有有组件当前组件拥有的子组件数组(运行时用)ControlCount所有组件当前组件的子组件数目(运行时用)Controlls所有组件当前组件的子组件数组(运行时用)Color大部分组件当前组件的表面背景色Ct3D大部分组件确定组件是否有三维效果Cursor所有组件当前组件上的光标形状Praecursor大部分组件当前组件接受拖动时光标的形状Enabled所有组件确定组件是否被激活Focused所有组件确定组件是否被聚焦Font所有组件确定组件内显示的文本字体Handle窗口组件组件使用的系统窗口句柄(运行时用)Height所有组件组件的高度Hint所有组件组件显示提示的字符串Left所有组件组件左上角的水平坐标Name所有组件组件实例的惟一名称Owner所有组件表示主组件(运行时用,只读)Parent所有组件表示父组件Parent Font所有组件确定组件是否使用父组件的FontParentct3D大部分组件确定组件是否使用组件的Ct3DPopup menus所有组件在组件上单击光标右键时出现的弹出式菜单Show hint所有组件确定是否激活提示功能Taborder窗口组件确定父组件的切换程序Visible所有组件确定组件是否可见所有组件存储一个整型变量的值,无实际意义Top所有组件可定位组件的顶部位置Width所有组件组件的宽度Captio大部分组件该属性可指定标注组件的文木字符串1. Action属性标识与组件连接的活动对象,允许应用程序集中响应用户命令。当组件与行为相关联时,
用户评论
一个不好的资料.