delphi控件和组件学习_第1页
delphi控件和组件学习_第2页
delphi控件和组件学习_第3页
delphi控件和组件学习_第4页
delphi控件和组件学习_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

组件和控件

非可视化组件(Nonvisual

Component):非可视化组件是指在程序运行期间用户是不可以看到的,是从TComponent但不是从TControl派生出来的子类。

组件的属性是组件特性的描述,包括组件的外观特性(如位置、尺寸、外形、字体、可视性)和非可视化的特性。

组件的事件是对组件所做的某个动作或系统的某些行为(如按下鼠标、双击鼠标、窗体装入等)的反应。每个组件都提供满足用户的各类事件处理器,当发生特殊事件时,应用程序将执行事件处理器中的代码。

组件的方法是指该类或对象类型实例的函数或过程,每一类组件都有自己的方法,以实现各种功能。第1页/共47页表3-1组件的常见基本属性属性

HeightWidthLeftTopAlignVisibleCaptionColorFontCtl3DShowHintHintEnabledNameTabOrder含义高度宽度组件在容器内的x坐标组件在容器内的y坐标组件上的对齐方式,居上、居下、居左、居右、占据剩余”设置组件是否显示,默认值为“true显示类组件的标题名称显示组件的背景颜色设置组件显示文本的字体是否以3D方式显示组件,默认值为“true”是否显示组件的提示信息,默认值为“true”组件的提示信息用户是否能够操作机器内部对组件进行标识的名称Tab次序第2页/共47页表3-2组件的常用事件及触发条件事件名onclickondblclickonmousedownonmousemoveonkeydownonkeypressonkeyupOnEnteronexitonstartDragondragdrop触发条件当鼠标单击时触发本事件当鼠标双击时触发本事件当鼠标左键按下时触发本事件当鼠标移动时触发本事件当按下任意键(包括组合键)时触发本事件当按下任意键(单字符键)时触发本事件当松开已按下键时触发本事件当获得焦点时触发本事件当失去焦点时触发本事件当开始拖动时触发本事件当组件拖动操作结束时触发本事件第3页/共47页二、文本控件第4页/共47页主要有五种:LabelEditStatic

TextMask

EditMemo1、TLabel组件

TLabel标签组件位于组件面板的Standard选项卡上(如图),可以显示一个只读的字符串。

通常利用TLabel标签组件在窗体上显示静态文本,如显示提示信息;也可显示动态文本,如用TLabel显示不断变化的当前时间。第5页/共47页TLabel组件的主要属性和方法第6页/共47页TLabel组件常用的属性见表3

-

1

。A

1

ign属性:该属性决定TLabel组件的显示位置(使其位于窗口的某个部分)。Alignment属性:该属性设置文字在水平方向的对齐方式。Auto

Size属性:该属性决定标签的大小是否和文字保持一致。Layout属性:该属性设置文字在垂直方向的对齐方式。Trans

Parent属性:该属性决定标签是否透明显示,主要在图形操作时使用,如果将其设置为true,则可透过标签看到背景图。Word

Wrap属性:该属性决定当Autosize属性为true时,文字超长时的显示方式。该属性为true时,则文字在纵向方向扩展,以多行显示;为false时,则文字在横向方向扩展,以完全容纳文本内容。2、TEdit组件第7页/共47页TEdit文本框组件位于组件面板的Standard选项卡上,可以显示、编辑单独的一行文本。用途:TEdit组件提供了一个编辑区域,用户可在区域中输入单行信息。TEdit不但允许用户在文本框中输入数据,也可以用来显示查询的数据及提示信息。TEdit组件的主要属性和方法第8页/共47页AutoSelect属性:该属性用来设置当TEdit组件获得输入焦点时,自动选中所有的文本。若它的值为true,则当

Edit组件获得输入焦点时,自动选中所有的文本;若它的值为false,则当Edit组件获得输入焦点时,不自动选中所有的文本。AutoSize属性:用于控制是否随字体的高度来改变编辑框的高度。当AutoSize设置为true时,编辑框的高度会自动适应输入文字的字体高度。但要注意,该属性只有当

BorderStyle属性设置为bsSingle时才有效。CharCase属性:该属性用于强制组件中的文本全部为大写(或小写)字母。Enabled属性:该属性决定文本框中的内容是否可以修改,其默认值为true,即文本框中的文本可以修改;当它的值为false时其中的文本不能修改。TEdit组件的主要属性和方法Hint属性:该属性用来设置所显示的提示信息。例如通过将该属性设置为“请输入职工姓名”,并将ShowHint属性设置为true,则在应用程序运行时当用户将鼠标移到文本框并停顿片刻后,将显示引号中的提示信息。IME属性:IME是输入法编辑器(Input

MethodEditor)的英文缩写,通过设置该属性可以在输入焦点定位在Edit组件上时,自动实现输入法的切换。设置ImeMode属性:如果要设置为中文输入法,可以将ImeMode属性设置为imChinese.设置ImeName属性:可以通过下拉组合框选择一个具体的输入法。PasswordChar属性:将用户输入的所有字符以同一个字符显示,其默认值是“#0”,表示编辑框直接显示用户输入的字符;如果将其设置为“*”,则不论用户输入什么,编辑框中都只显示“*”号,一般在键入密码时可以这样设置。第9页/共47页TEdit组件的主要属性和方法Clear方法:该方法删除文本框中的所有文本。ClearSelection方法:该方法删除文本框中被选择的文本。如果文本框中没有被选择的文本,则不删除任何内容。CopyToClipboard方法:该方法将文本框中已选择的

文本拷贝到剪贴板上,并取代原来剪贴板中的所有内容。如果用户未在文本框中选择任何文本,该方法的执行将不删除原来剪贴板的所有内容。CutToClipboard方法:该方法将文本框中已选择的文本拷贝到剪贴板上,并取代原来剪贴板中的所有内容,然后删除在文本框中被选中的内容。PasteFromClipboard方法:该方法将剪贴板上的内容拷贝到文本框中,并插入到文本框中光标所在的当前位置。SelectAll方法:该方法选择文本框中的所有文本。第10页/共47页TEdit组件的主要属性和方法第11页/共47页Edit组件最常用的事件(也是默认事件)为onchange,一旦Edit组件中的文本内容发生了改变,就会触发onchange事件。【例3-1】

设计用户登录验证的窗体,用来接收用户输入的用户

名和口令,单击“确定”

按钮进行验证,根据输入

是否正确显示相应的提示

信息。第12页/共47页3、TMemo组件第13页/共47页

TMemo备注框组件位于组件面板的Standard选项卡上,可以显示、编辑多行文本。1.用途

TMemo组件为用户提供了一种处理多行文本的方法,还可用来快速阅读文件中的数据。尽管TLabel、TEdit和TMemo组件有许多相似之处,但它们的使用场合却有所不同。

如果只显示用户不能修改的信息,可采用标签;如果用户只处理单行信息,则使用TEdit组件;如果用户要处理多行文本,那么只能采用TMemo组件。TMemo组件的主要属性第14页/共47页TMemo组件的很多属性(如MaxLength、ReadOnly和Text等)和TEdit组件的属性类似,以下是TMemo组件的特殊属性。Lines属性:返回TMemo组件中文本的行数。ScrollBars属性:该属性用来设置TMemo组件是否有滚动条。WantTabs属性:该属性用来设置是否可以使用Tab键来进行文本编辑。其值设置为true,这时可以用Tab键来使TMemo组件获得输入焦点,但不能用Tab键从TMemo组件切换到其他组件,默认值为false。方法M

1.lines.delete(0);//删除第一行M

1.lines.insert(1,’line

inserted’);//第二行后加一行;M

1.lines[1]:=‘

’;//更改第二行内容;Edit

1

.

text:

=M

1

.

lines[

1

];M

1.lines.clear;//清除M

1中所有文本第15页/共47页4、MaskEdit控件(格式化文本框控第16页/共47页在Additio

n件a

l页)上,其作用类似于Edit。不过Mask

Edit控件可以对用户输入的文本进行格式限定,用户只能按指定的格式输入。如:按照指定格式输入日期、时间、电话号码等格式的文本。常用属性:Edit

Mask:可设置输入格式;Edit

Text:可设置默认值。三、按钮类控件第17页/共47页普通按钮(

TButton)位图按钮(

TBit

Btn)快捷按钮(

TSpeed

Button)1、TButton组件第18页/共47页TButton命令按钮组件位于组件面板的Standard选项卡上用途:TButton组件是为用户提供用来选择执行命令的组件,通常称为命令按钮。按钮在Windows程序中应用非常广泛,它可以放在应用程序的任何地方,触发之后执行特定的操作主要属性Cancel属性:该属性决定按钮是否为Cancel按钮。当设置为true时,为Cancel按钮,即当用户按Esc键时,将执行按钮的onclick事件处理程序。当窗体中有多个

Cancel按钮时,则只调用Tab

Order属性最小按钮的

onclick事件。Caption属性:该属性用来让用户识别组件,输入属性值显示在组件表面。Default属性:该属性决定按钮是否为默认按钮。如果将其设置为true,则按钮为默认按钮,此时当用户按

Enter键时,将执行按钮的onclick事件处理程序。Enabled属性:该属性决定按钮是否对鼠标、键盘和计时器事件做出响应。ModalResult属性:该属性确定按钮是否以及如何关闭其父窗体。Name属性:该属性是组件的名称,与Caption不同,它不显示在组件表面,而是在应用程序代码中作为组件的名称。第19页/共47页2、TBitBtn组件TBit

Btn位图按钮组件位于组件面板的Additional选项卡上,为图形按钮组件用途:TBit

Btn组件与其他按钮一样,在对话框和窗体中广泛使用。该组件的作用和TButton组件相同,唯一的区别是可以在位图按钮上同时显示文本信息和位图。主要属性第20页/共47页3、TSpeedButton组件第21页/共47页

TSpeedButton组件位于组件面板Additional选项卡上,为加速按钮组件。

用途:TSpeedButton组件可以同时显示图形和文字,用法与位图按钮很相似。在按钮上显示图像时,它的图像必须是

Windows的位图文件(.bmp)。该组件常和TToolBar、TPanel等组件一起使用,用户使用该组件可快速建立工具栏和工具面板。主要属性四、单选按钮和复选框第22页/共47页1.TRadio

Button组件也称为开关按钮。TRadio

Button组件也称为开关按钮。单选按钮为用户提供了一组相互排斥的选项按钮,无论何时选项组中最多只有一个选项被选择。如果在选择过程中又选择了另一个按钮,则先前被选择的按钮会自动变成未选择。主要属性:TRadio

Button组件的属性第23页/共47页(1)Checked属性:该属性表示单选按钮是否被选中。如果该属性为true,则单选按钮的框中出现一个圆点并表示选中;默认值为false,表示未选中。(2)Enable属性:该属性用来控制单选按钮是否处于激活状态。默认值为true,即激活状态;当该属性为false时,处于非激活状态,此时组件上显示的字体为灰色,表示该按钮不起作用。(3)Visible属性:该属性决定该单选按钮在窗体上是否可视。默认值为true,即可视。2、TCheck

Box复选框组件第24页/共47页

位于组件面板的Standard选项卡上,为复选按钮组件,可以组成多项选择。TCheckBox组件称为复选框,用户可通过单击一个选项来选择或取消选择该选项,在一个选择组框中一次可做出多项选择。主要属性

(1)Alignment属性:该属性用于设置复选按钮上文字的位置。

taRightJustify表示文字显示在小方框的右边;taLeftJustify表示文字显示在小方框的左边。

(2)AllowGrayed属性:该属性的默认值为false,这时复选框只有两种状态,即“选中”、“未选中”。但当该属性为true,复选框则有3种状态,即“选中”、“未选中”和“部分选中”(灰色)。TCheck

Box复选框组件第25页/共47页

(3)State属性:该属性用来设置或返回复选框的状态,可取以下值:cbChecked:表示复选框处于启用状态。cbUnchecked:表示复选框处于未启用状态。cbGrayed:表示复选框处于启用且变灰状态。

(4)Check属性:该属性用来检测复选框当前处于什么状态,为

true表示选中,为false表示未选中。如果复选框的State属性为cbGrayed或cbUnchecked,则Check属性为false。五、TList

Box列表框组件第26页/共47页位于组件面板的Standard选项卡上,可以显示一系列字符串,用户可以选中其中的一个或多个。用途:TList

Box组件用来显示可滚动的项目列表,在项目列表中可以选择一个或多个项目,但不能直接对这些项目进行修改。列表框中的项目列表是Items属性的值,可使用方法对列表框中的项目进行增加、删除和插入操作。主要属性第27页/共47页Columns属性:该属性用来设置列表框中项目的列数,默认值为0,表示列表框以单列显示。Extended

Select属性:该属性设置是否允许使用Shift键和Ctrl键对列表框中的项目进行连续选择。只有当该属性为true时,组件的Multi

Select属性才起作用,通过配合

Shift键选择连续多个项目,通过配合Ctrl键选择不连续的多个项目。如果将该属性设置为false,那么Multi

Select属性即便设置成true也无意义。Integral

Height属性:该属性设置列表框在窗体上的显示方式。设置为true时,在垂直方向上可完整地看到列表框的项目;设置为false时,列表框的高度由Item

Height属性决定。Item

Height属性:当列表框的Style属性设置为lb

Owner

Drag

Fixed时,列表框中的每一个项目的高度由Item

Height属性来决定;当Style属性为其他值时,

ItemHeight属性无意义。Item

Index属性:该属性返回列表框中的选中项目的索引号,从0开始,依次增1。属性第28页/共47页(6)Items属性:该属性用于设置列表框中显示的内容。当按下Items属性右边的“…”

按钮时,将弹出Srting

List

Editor窗口,用户可在该编辑窗口中输入将要在列表框中显示项目的默认值。用户也可在程序执行过程中通过调用方法动态地向列表框中增加项目,如在窗体中有一个列表框组件List

Box

1,则可通过代码改变列表框的内容,其方法如下:l向列表框中增加项目:List

Box

1.Items.Add("增加的新项目")l删除当前选中的项目:List

Box

1

.

Items.

Delete

(

List

Box

1

.

Item

Index)l

清除所有项目:List

Box

1

.

ClearMulti

Select属性:该属性用来设置用户是否可从列表框中一次选中多项。其值为

true时,用户可选择多项。Sel

Count属性:当Multi

Select属性设置为true时,该属性返回在列表框中用户选择项目的个数。属性Selected属性:该属性用来检测在列表框中某一项目是否被选择,该属性为true,表示指定的项目被用户选中。Sorted属性:该属性用来控制列表框中的数据是否自动进行排序。如果将其设置为true,那么列表框的数据按字母顺序进行排序;默认值为

false,即不对数据进行排序。Style属性:该属性用来设置列表框中项目的显示方式。常取以下值:

l

lbOwnerDrawFixed:列表框中的每个项目可以是字符,也可以是图像,其高度由ItemHeigh属性决定。l

lbOwnerDrawVariable:列表框中的每个项目可以是字符或图像,其高度可变。l

lbStandard:默认值,即列表框中的每个项目作为一个高度相同的字符串显示。第29页/共47页例第30页/共47页【例3-3】在窗体中新添加一个标签和一个列表框,用来输入籍贯,要求使用动态方法向列表框中增加内容。添加如下代码:procedure

TInput

Form.

Form

Create(

Sender:

Tobject);//使用Add方法向列表框增加项目begin//输入如下7行代码

List

Box

1.Items.Add("山西");List

Box

1.Items.Add("北京");List

Box

1.Items.Add("河北");List

Box

1.Items.Add("河南");List

Box

1.Items.Add("湖南");List

Box

1.Items.Add("内蒙古");List

Box

1.Items.Add(‘福建’);end;六、组合框-----TComboBox组件TComboBox组合框组件位于组件面板的Standard选项卡上组合框由一个编辑框和一个下拉式列表框组成,可以从多个列表条目中选择一个。1.用途TComboBox组件是设计Windows应用程序时使用较多的组件之一。该组件汇集了列表框和文本框的功能,其作用是供用户从下拉列表中选择数据或直接向组合框中输入数据。组合框下拉列表的内容是该组件的Items属性值,Items属性是串类型。2.主要属性(1)DropDownCount属性:该属性用来设置组合框下

拉列表中可显示的文本行数。默认值为8,即下拉列表在不需要滚动的情况下可以显示8个项目(8行文本)。第31页/共47页主要属性第32页/共47页Enabled属性:该属性用来设置是否使组合框处于激活状态。如果将其设置为false,则组合框处于非激活状态,程序运行时组合框区域呈灰色显示。Style属性:该属性用来设置组合框中项目的显示方式。可取以下值:

Cs

Drop

Down:为默认值,是由编辑框和列表框组合而成的组合框,列表框中的每一个项目都是高度相同的字符串。

Cs

Drop

Down

List:只有列表框而没有编辑框,每一个项目都是高度相同的字符串。

Cs

Owner

Draw

Fixed:和List

Box组件的

lb

Owner

Draw

Fixed方式相同。

Cs

Owner

Draw

Variable:和List

Box组件的

lb

Owner

Draw

Variable方式相同。Cs

Simple:只有编辑框而没有列表框。Text属性:该属性用来设置或返回编辑框上显示出来的文字内容,也可在程序中给该属性赋值。该属性的赋值语句为:<组合框名>.Text:=<组合框名>.Item[索引号];ItemIndex属性:该属性返回ComboBox中被选中项目的索引号,从0开始,依次加1。SetText属性:该属性返回ComboBox中被选中的文本。

另外,用户可通过Add、Delete和Insert方法对列表中的项目(Item)进行增加、删除和插入操作。第33页/共47页第34页/共47页case

radiogroup

1

.

Item

Index

of0:m

1.text:="您的职业是学生";1:m

1.text:="您的职业是工人";2:m

1.text:="您的职业是教师";3:m

1.text:="您的职业是农民";end;第35页/共47页参考:M

1.lines.delete(0);//删除第一行M

1.lines.insert(1,’line

inserted’);//第二行后加一行;M

1.lines[1]:=‘

’;//更改第二行内容;Edit

1

.

text:

=M

1

.

lines[

1

];M

1.lines.clear;//清除M

1中所有文本第36页/共47页ifc1.Checked

thenm1.lines.Add("您爱好足球.");ifc2.Checked

thenm1.lines.add("您爱好篮球.");ifc3.Checked

thenm1.lines.add("您爱好网球.");ifc4.Checked

thenm1.lines.add("您爱好乒乓球.");ifc5.Checked

thenm1.lines.add("您爱好羽毛球.");第37页/共47页第38页/共47页TBitBtn组件的主要属性第39页/共47页Glyph属性:该属性指定在用户选择的位图按钮表面设置图形。单击该属性右边的

“…”按钮,弹出装入位图文件的Picture

Editor对话框(如图4-6

),在其中单击

Load按钮选择用户需要的位图,此时选择的位图将显示在对话框中,再单击OK按钮后,位图将显示在按钮上。Kind属性:该属性决定位图按钮的种类,包括bk

Abort、bk

All、bk

Cancel、bkClose、bk

Custom、bk

Help、bk

Ignore、bk

No、bk

OK、bk

Retry、bk

Retry。Layout属性:该属性决定位图在按钮上的显示位置,即位图可以显示在按钮的左边、右边、上边或下边。Margin属性:该属性确定位图按钮边沿和位图边沿之间的距离,单位为像素。该属性的默认值为-1,表示位图和文字都在按钮的中间显示,但相互不重叠。Num

Glyphs属性:当用户为位图按钮在Glyph属性中指定多个图像时,必须用该属性指定按钮要显示的图像,它的值可以是1

~4之一,默认值为1。TBitBtn组件的主要属性第40页/共47页Spacing属性:该属性确定位图按钮上图像和标题之间的间隔。该属性值可以是负数、0和正数,默认值为4。Style属性:该属性决定位图按钮的外观,共有3种可能的值:

bsAutoDetect、bsWin31和bsNew,即位图按钮采用Windows哪一种版本的风格。l

bsAutoDetect:表示当使用Windows

3.x时,位图按钮采用标准的

Windows

3.x外观,当使用Windows

3.x以后的版本时,位图按钮采用较新的外观。l

bsWin31:表示不考虑所运行的Windows版本而采用标准的Windows3.1外观。l

bsNew:表示不考虑所运行的Windows版本而采用新的位图按钮外观。返回TSpeedButton组件的主要属性第41页/共47页Allow

All

Up属性:该属性决定组中的快速按钮是否可一个都不选择。如果将其设置为true,那么在同一组中的快速按钮可一个都不选择,但可以出现;如果将其设置为

false,则必须选择同一组中的快速按钮之一,即处于被按下状态,默认值为false。Down属性:该属性用来设置显示状态。如果将其设置为true,那么快速按钮以按下状态(Down)显示;如果将其设置为false,则快速按钮以未选中(Un

Select)状态显示。Flat属性:该属性值为true,则按钮在未选中状态下没有边框,只有在选中状态下才有边框。Group

Index属性:该属性决定哪些快速按钮作为一组。默认时,它的值为0,表示该组件不属于某个组。具有相同Group

Index属性值且不为0的快速按钮属于同一个组,当单击其中之一时,该按钮一直保持按下(Down)状态,直到单击了同一组的另一个按钮为止。【例3-1】第42页/共47页创建“人事管理”文件夹,用来保存该应用程序代码。创建一个工程RsglPrj.dpr,登录窗体设计界面如图

4-2所示,包含六个组件,即两个Label组件用于显示提示信息;两个TEdit组件(UseName用于输入用户名,PassWord用于输入用户口令);二个TButton组件。组件的属性设置。编写login窗体相应的程序代码。按F9键运行程序。在用户名中输入“yonghu”,在

口令中输入正确的口令“12345”,单击“确定”按钮,即可运行。保存程序。选择File→Save

All选项,出现一个SaveAs对话框,用户选择保存位置为“人事管理”文件夹,使用DengLuUnit.pas对单元文件进行命名,使用

RsglPrj.dpr对工程文件进行命名。返回•第43页/共47页•

掩码编辑框(MaskEdit)是一种特殊的编辑框。使用它可以设计出许多复杂的输入格式。在选用MaskEdit之后,需要为它设计一个输入格式。方法如下:首先在窗体上将MaskEdit选中,在对象查看器(ObjectInspector)中找到EditMask属性,双击它,弹出一个如下图所示的对话框。对话框左上角的Input

Mask编辑框用于输入掩码格式。掩码格式可以分为三部分,每个部分之间用分号“;”分开,如

“!90:90:90:;1;_”。下面解释各输入格式符的意义:•

1.

温馨提示

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

评论

0/150

提交评论