Delphi标准控件.docx

上传人:b****7 文档编号:11213941 上传时间:2023-02-25 格式:DOCX 页数:12 大小:169.48KB
下载 相关 举报
Delphi标准控件.docx_第1页
第1页 / 共12页
Delphi标准控件.docx_第2页
第2页 / 共12页
Delphi标准控件.docx_第3页
第3页 / 共12页
Delphi标准控件.docx_第4页
第4页 / 共12页
Delphi标准控件.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Delphi标准控件.docx

《Delphi标准控件.docx》由会员分享,可在线阅读,更多相关《Delphi标准控件.docx(12页珍藏版)》请在冰豆网上搜索。

Delphi标准控件.docx

Delphi标准控件

Delphi标准控件--编辑框(Edit)

下一节

  编辑框也是Windows程序中常用的组件,它主要用于输入单行文字。

下面解释编辑框一些常用属性。

属性

说明

PasswordChar

这个属性在一些编辑框组件如TMaskEdit、TDBEdit中都有。

缺省时该属性为#0,即没有掩码。

用户可以自己设置一个掩码,如‘*’,则用户在编辑框中输入的字符都将以‘*’字符显示,而隐藏真实的字符。

AutoSize

确定编辑框是否随字体变化而自动变动尺寸,缺省为True

Text

该属性用于显示和保存编辑框中的字符串

MaxLength

确定编辑框最多可以输入的字符数,缺省时为0,表示可以输入任意多的字符

ReadOnly

确定程序运行时,用户是否可以改变编辑框中的内容。

若为True,表示不可以编辑。

AutoSelect

确定当编辑框获得输入焦点时,编辑框中的文字是否自动被选中

  Edit常用的几个事件为:

OnChange、OnKeyPress、OnEnter事件,下面对它们做简单的介绍:

事件

说明

OnChange

当编辑框中的内容发生变化时,触发该事件,它是Edit中最常用,也是最有用的事件之一

OnKeyPress

当按下一个按键时,触发该事件

OnEnter

编辑框获得输入焦点时,触发该事件

  上边介绍的三个编辑框事件非常有用,在Delphi编程中经常用到。

使用这三个事件,可以实现一些很有用的功能:

  1.使用OnEnter事件,可以在编辑框获得输入焦点时,给出提示或触发其它事件。

下面的实例在编辑框Edit1获得输入焦点时给出一个提示信息,并使将Button1失效。

  procedureTForm1.Edit1Enter(Sender:

TObject);

  begin

  showmessage('请输入您的密码');

  Button1.Enabled:

=False;

  end;

  2.使用OnKeyPress事件,可以限制在编辑框中输入的字符的种类。

下面的例子限制了编辑框Edit1中只能输入数字,而不能输入其它的字符。

若按下非数字按键,将发出蜂鸣声。

  procedureTForm1.Edit1KeyPress(Sender:

TObject;varKey:

Char);

  begin

  ifnot(keyin['0'..'9',#8])then

   begin

    key:

=#0;

    MessageBeep(-1);

   end;

  end;

  在上边的例程中,Key为按下的字符,使用not方法来判断输入的字符是否为数字(0至9)或者是删除键#8(注意不要连删除键也屏蔽)。

如果是非数字输入,使用语句“Key:

=#0”将其屏蔽,#0为空,表示没有输入。

  3.使用OnChange事件,可以在编辑框中的内容发生某种变化时,触发其它事件,如使按钮生效或失效,让输入焦点转移到某个控件上。

下面的例程在编辑框Edit1中的内容为‘123456’时,使Button1生效,同时将输入焦点转移到Button1上。

  procedureTForm1.Edit1Change(Sender:

TObject);

  begin

   ifEdit1.Text='123456'then

     begin

      button1.Enabled:

=true;

      Form1.FocusControl(button1);

     end;

  end;

  下面我们将使用Edit控件的这些特性编写一个简单的“身份验证”程序,程序中使用了两个Label、两个Edit和两个BitBtn控件。

其中Edit1、Edit2的MaxLength属性值都为6,Edit2的PasswordChar为‘*’;另外Edit1限制了输入,只接收数字。

  当用户在Edit1中输入6个数字后,输入焦点自动跳到Edit2中;当确认Edit1和Edit2中的学号和密码输入正确(学号为950755,密码为123456),Ok按钮被激活,并获得输入焦点。

程序界面如下图所示:

  

--Delphi标准控件--掩码编辑框(MaskEdit)

下一节

  掩码编辑框(MaskEdit)是一种特殊的编辑框。

使用它可以设计出许多复杂的输入格式。

在选用MaskEdit之后,需要为它设计一个输入格式。

方法如下:

  首先在窗体上将MaskEdit选中,在对象查看器(ObjectInspector)中找到EditMask属性,双击它,弹出一个如下图所示的对话框。

  对话框左上角的InputMask编辑框用于输入掩码格式。

掩码格式可以分为三部分,每个部分之间用分号“;”分开,如“!

90:

90:

90:

;1;_”。

下面解释各输入格式符的意义:

  1. 输入格式的第一部分是掩码本身,也就是数据输入格式。

在这一部分用一些特殊的格式符来表示应输入的字符类型及格式,如“!

l0A9:

C>ll<”这样一串输入格式掩码。

常用的MaskEdit输入格式符有:

格式符

意义

l和L

l表示该位置只可能是一个字母,可以用光标键跳过它,但是不能是其它类型的字符。

L该位置必须是一个字符。

a和A

a表示该位置只可能是一个字母或数字字符。

A表示该位置必须是一个字母或数字字符。

c和C

c表示该位置只可能是一个字母,C表示该位置必须有一个字母。

9和0

9表示该位置只可能是一个数字,0表示该位置必须有一个数字。

 

  

〈和〉

<格式符表示随后的字母均以小写的形式显示,直到遇到一个>格式字符或<>格式符。

>格式符则和<正好相反。

〈〉

表示不作大小写转换,以输入时的形式为准。

\

表示该格式符之后的那个掩码格式符将作为数据中的普通字符对待。

当用户想在数据中放进一个掩码格式符时,应该在这个格式符前放一个\符号。

如\A,\\等等。

#

表示该位置可能是一个数字或正符号。

!

如有!

表示数据前的空格将不被保存在数据中,没有!

则数据后的空格不被保存。

!

格式符只能放在掩码格式符的第一个字符处。

;和/

标准的分隔符,可作为数据的一部分。

其中/在显示时为‘-’而非/。

  

 

  2. 在输入格式中的第二部分只有0和1两种选择。

如为1,则掩码中的非用户输入数据和标准分隔符等其它各种字符会作为数据的一部分保存;为0则不保存。

  3. 输入格式的第三部分用于表示数据中的空位用那个字符代替显示。

  在有了上述知识后,现在来设计一个例子。

例如要输入一个汽车牌号如CA-300019。

该数据前两位为字母且为大写,第三位为一个系统分隔符号,后6位为数字。

可以这样设计掩码格式:

  !

>LL/000000;1;_

  掩码的第二部分取为1表示系统分隔符‘-’也将作为数据保存。

第三部分的“_”表示在掩码编辑框中为空时,用“_”来表示空位。

我们也可以用空格来标识空位。

  又如一个邮编如PO-100083,其中PO表示邮政,是每个邮政编码中都有的前缀,可以这样设计掩码格式:

  !

PO/000000;1;_

  在掩码设计对话框的右侧是SampleMasks,这里有系统预设的常用的掩码格式,如电话号码(Phone)、日期(Date)等。

我们可以选择一个,然后进行必要的调整。

对话框左下部是一个TestInput栏,我们可以在这里输入字符,以检测输入格式是否令人满意。

--Delphi标准控件--Memo组件

下一节

  Edit和MaskEdit组件都只能编辑单行文本,Delphi的Memo组件提供了多行文本的编辑功能。

下面解释Memo组件常用的属性。

属性

说明

 Lines

这是Memo组件最常用,也是最有用的属性,它用来显示和保存Memo组件中的内容。

 Scrollbar

很多组件都有这个属性。

用于设定组件有否滚动条。

它有四个值:

SSNone表示既无水平滚动条,也无垂直滚动条;SSHorizontal表示只有水平滚动条;SSVertal表示只有垂直滚动条;SSBoth表示两者都有。

当用户要显示的文本或其它的内容较多时,建议选用SSBoth。

 WordWrap

用于设定Momo组件是否具有自动折行功能。

 WantTabs

这个属性只在Memo、RichEdit和DBMemo组件中使用。

通常在切换当前焦点控件时,我们通常使用Tab键。

但在上述三种组件中,编辑文本时常用Tab键来跳过若干个空格使文本对齐,这时就会有冲突。

所以应将WantTabs设置为True,这样子在组件内就可以使用Tab键来编辑文本。

  Memo组件常用的方法:

  1.使用剪贴板(Clipboard)

  我们可以使用CutToClipboard、CopyToClipboard和PastFromClipboar这三种方法,实现将Memo组件中被选择文本剪切或复制到剪贴板上,以及将剪切板上的内容粘贴到Memo组件中。

  将Memo中的选中文本剪切到剪贴板的语句如下:

  ifMemo1.SelLength>0then

  2.文本的添加

  利用Lines属性,可以增加、删除一行文本,也可以移动一行文本。

下面的代码将文本添加到Memo中的最后一行:

  Memo1.Lines.Add('将文本添加到Memo中’);

  3.文件的保存和装载

  我们可以将Memo组件中的文本保存成文本文件,也可以将文本文件装载到Memo中。

这须要配合使用SaveDialog组件和OpenDialog组件。

将Memo中的文本保存为文件的语句为:

  IfSaveDialog1.Executethen   //打开保存对话框

  Memo1.Lines.SaveToFile(SaveDialog1.FileName);  //保存为文件

上边的语句先打开保存对话框,然后将Memo中的文本保存到一个文件中,文件名为我们在SaveDialog中输入的文本。

  在Memo中装载文本文件的语句为:

  ifOpendialog1.Executethen

  Memo1.Lines.LoadFile(Opendialog1.FileName);

执行上边语句将打开Opendialog对话框,然后将选中的文本文件装载到Memo中。

  下面我们使用Memo组件的这些特性制作一个简单的文本编辑器,可以实现文本的拷贝复制,并可以进行文本的保存和装载。

当然程序的功能还很简单,我们还可以进一步扩展。

这里是入门教程,所以不宜太复杂。

  程序的界面如下图所示:

  源代码如下:

 

--Delphi标准控件--单选按钮组

下一节

  单选按钮组(RadioBox)是单选按钮的组合。

当我们需要对不同的单选按钮进行选择时,为了使不同组之间互不干涉,就需要使用单选按钮组。

  单选按钮组有两个重要得属性:

Items和ItemIndex。

在窗体上选中RadioBox组件在对象查看器上双击Items属性,将打开一个对话框,如下图所示:

  在该对话框的编辑窗口中输入各项标题,每项一行。

  ItemIndex属性用于表明单选按钮组中哪一项被选中了。

若为-1(缺省值),表示没有被选中的项;若为0,表示第一项被选中;若为1,表示第二项被选中;其他依次类推。

  我们在前面编制的文本编辑器的基础上,使用单选按钮组代替单选按钮,并添加字体选择功能。

程序用到两个RadioGroup组件,属性如下:

属性

  RadioGroup1

  RadioGroup2

Caption

  颜色

  字体

Items

  红色;蓝色;绿色

  Aria;Symbol;宋体

ItemIndex

    0

    2

  由于RadioGroup1的IntemIdex为0,则第一项为初始被选中的项,即“红色”被选中,所以程序在初始化时应将Memo1中的文本颜色设置为红色;同样,RadioGruop2的初始项为第三项“宋体”(ItemIndex为2),也应在初始化时将Memo的文本字体设置为宋体。

初始化语句放在Form1的OnCreate事件中,即在创建窗体时对Memo组件进行初始设置。

相应得程序如下:

   procedureTForm1.FormCreate(Sender:

TObject);

   begin

   memo1.Lines.Text:

='这里是RadioGroup组件示例';

   memo1.Font.Color:

=clRed;//设定文本的初始颜色为红色

   memo1.Font.Name:

='宋体'//设定文本字体为宋体

   end;

  改变字体颜色的程序代码如下:

   procedureTForm1.RadioGroup1Click(Sender:

TObject);

   begin

    ifradiogroup1.ItemIndex=0then

     Memo1.Font.Color:

=clRed

    elseifradiogroup1.ItemIndex=1then

     Memo1.Font.Color:

=clBlue

      else

      Memo1.Font.Color:

=clGreen;

   end;

  改变字体的程序代码如下:

   procedureTForm1.RadioGroup2Click(Sender:

TObject);

   begin

    ifradiogroup2.ItemIndex=0then

      Memo1.Font.Name:

='Arial'

    else ifradiogroup2.ItemIndex=1then

     Memo1.font.name:

='Symbol'

       elseMemo1.Font.Name:

='宋体';

   end;

  程序界面如下图所示:

  完整的程序代码如下:

--Delphi标准控件--单选按钮和复选框

下一节

  单选按钮(RadioButton)和复选按框(CheckBox)都是很常用的组件,尤其是在对话框中。

单选按钮(RadioButton)是一种具有排他性的选择组件,用户每一次只能选择其中的一个(在同一个容器组件中,如同一Form上或RadioBox中)。

而复选框(CheckBox)则不同,可以同时选择多个。

  两种组件都有一个Checked属性,用于标识和检测是否被选中。

我们使用这两个组件,给上一节(Memo组件介绍)的例程(简单编辑器)添加一些新的功能,使它可以选择字体颜色和字体的样式。

  程序的界面如下图所示:

  程序如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1