组件、文本显示组件与编辑组件.ppt_第1页
组件、文本显示组件与编辑组件.ppt_第2页
组件、文本显示组件与编辑组件.ppt_第3页
组件、文本显示组件与编辑组件.ppt_第4页
组件、文本显示组件与编辑组件.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

VCL组件概述,一、组件类型,根据组件在运行期间是否可见,可以把组件分为两大类:可视组件和不可视组件。,二、组件属性事件和方法,1. 组件属性,对组件属性的设置有两种方式:一是在Object Inspector的Properties选项卡中设置组件的属性值,例可以通过双击Enabled后的True,将Enabled属性设置为False;二是通过程序语句使组件的属性值在程序运行时动态地被改变,如: edit1.enabled:=True; Label1.Caption:=“计算机系”; 还有一种比较特殊的属性:嵌套属性,即包含子属性的属性。一般嵌套属性在Object Inspector窗口中显示时前面有一个“+”号或“-”号。单击带有子属性的属性前面的“+”号时,展开子属性,此时“+”号变成“-”号;单击已展开其子属性的属性前的“-”号,则将子属性隐藏起来。另外双击嵌套属性,则将其子属性在展开和隐藏两种状态之间切换。,2. 组件事件,每个组件都有相应的一组事件,各组件有很多事件是相同的,包括与鼠标、键盘、拖曳和焦点相关的事件等,这些常用事件及其触发条件列于下表中。,3. 组件方法 组件方法,实质上就是函数或过程。组件的方法是该类或对象类型实例的函数或过程。每一类组件都有自己的方法,以实现各种功能。(见下表),组件常见的基本属性,组件的常用事件及触发条件,窗体的组件对象,一、向窗体中添加组件,向窗体中添加组件的方法很多,主要有以下3种: (1) 在组件面板的组件栏中单击需要添加的组件,然后在窗体中需要添加该组件处单击鼠标左键,即可将组件添加到窗体中。此时添加的组件以缺省的大小出现在窗体中,可根据需要对组件的大小进行调整。 (2) 在组件栏中单击需要添加的组件,然后在窗体中需要添加该组件处拖动鼠标左键,松开鼠标左键后,组件就以刚才拖动的大小出现在窗体中,接着也可以对组件的大小进行调整。 (3) 在组件栏中双击组件,则被双击的组件会自动添加到当前默认的窗口或容器组件中。,二、 编辑组件对象,1. 选中窗体组件,有时要对多个组件进行同时编辑,就需要同时选中多个组件。选定多个组件的方法有2种: (1) 按下Shift 键的同时,利用鼠标左键单击各个组件。 (2) 在窗体上没有组件的地方按下鼠标左键并拖动,将会出现一个虚框。松开鼠标左键后,该虚框“触及”到的组件就被选中。,2. 复制窗体中的组件 方法1: (1)选择一个或多个要复制的组件。 (2)通过主菜单命令EditCopy复制到剪贴板中。 (3)然后通过菜单命令EditPaste将剪贴板中的组件粘贴到窗体中。 方法2: (1)选择一个或多个要复制的组件。 (2)通过快捷键Ctrl+C将选中的组件复制到剪贴板中。 (3)通过快捷键Ctrl+V将剪贴板中的组件粘贴到窗体中。,3. 删除窗体中的组件 删除窗体中的组件,有两种常用方法: 方法1: (1)选中要删除的组件。 (2)单击Delete键。 方法2: (1)选中要删除的组件。 (2)选择主菜单中的EditDelete命令。,4. 调整组件的大小和位置 改变组件在窗体中的大小和位置可以采用下面的方法: 方法1:鼠标操作 选中组件,在组件上按下鼠标左键并拖动到目的位置,组件就被移动到该位置。 将鼠标移动到某个黑点上,鼠标形状将变成双向箭头,此时可以按下鼠标左键进行拖动,即可改变组件的大小。 方法2:键盘操作 利用键盘的上()、下()、左()、右()移动键可以在窗体中选择组件。选中某个组件后,通过Ctrl +、Ctrl+、Ctrl +、Ctrl+可以改变组件的位置,通过Shift +、Shift +、Shift +、Shift +可以改变组件的大小。,方法3:统一操作 先选中几个组件,然后通过主菜单EditSize.命令,将打开Size对话框,如图所示,在Size对话框中选择宽度和高度的有关设置即可。,图 Size对话框 Alignment 对话框,将多个组件选中后,除了用上述方法改变它们的大小外,还可以同时对它们进行移动和对齐等操作,方法是:选择主菜单的EditAlign.命令,将弹出如图所示的Alignment 对话框。在Alignment对话框中,可对选中的组件进行水平和垂直两个方向的对齐操作,其中各选项的含义列于下表中。,Alignment对话框中各选项的含义,5. 设置可视组件的Tab顺序,方法:选择主菜单的EditTable Order. . .命令,将弹出如图所示的“Edit Tab Order”对话框,在其中的“Controls listed in tab order”框中选中某组件后,点击右部的上、下箭头就可改变该组件的TabOrder属性。,图Edit Tab Order对话框,一、Label组件(位于standard面板),标签组件用于在窗体上显示文本,多用于显示提示信息;也可显示动态文本,如用label显示不断变化的当前时间。Label组件常用属性的含义见下表。 表 Label组件的常用属性,文本组件 (均用其Name属性来标识和引用),2. Edit组件(位于standard面板),Edit组件是常用组件之一,用于显示、编辑单行文本,其相关类为TEdit。Edit组件的主要属性有: (1)Text属性:其值是文本编辑框的最新内容。 (2)AutoSelect 属性 当Edit组件获得输入焦点时,是否自动选中所有的文本。若AutoSelect为True,则当Edit 组件获得输入焦点时,自动选中所有的文本;若AutoSelect为False,则当Edit 组件获得输入焦点时,不自动选中所有的文本。,(3)PasswordChar属性 将用户输入的所有字符以同一个字符显示,其默认值是“#0”,表示编辑框直接显示用户输入的字符;如果将其设置为“*”,则不论用户输入什么,编辑框中都只显示“*”号,一般在键入密码时可以这样设置。 (4)Autosize属性 用于控制是否随字体的高度来改变编辑框的高度。当Autosize设置为True时,编辑框的高度会自动适应输入文字的字体高度。值得注意的是,该属性只有当BorderStyle属性设置为bsSingle(单线边框,大小不可改变)时才有效。 Edit组件的其他常用属性见下表。 Edit组件最常用的事件(也是默认事件)为OnChange,一旦Edit组件中的文本内容发生改变,就会触发OnChange事件。,Edit组件的其他常用属性,【例】用户身份验证程序。本程序接收用户输入的用户名和口令,进行验证,根据输入是否正确显示相应的提示信息。 (1)主窗体denglu界面如图所示,界面上包含6个组件,2个Label组件用于显示提示信息、2个Edit组件(txtusername用于输入用户名,txtpassword用于输入用户口令)和2个Button组件。,(2)组件的属性设置。denglu窗体和welcome窗体所包含的各组件的主要属性设置分别如表一和表二所示。 表一 denglu窗体及其包含的组件对象属性表,表二 welcome窗体及其包含的组件对象属性表,(3) 编写denglu窗体相应的程序代码。 在implementation区中加入“unit2”单元,表示需引用该单元(unit2单元是welcome窗体所对应的单元)。如下所示: uses unit2; 定义两个unit级符号常量: const username=guest; / 定义用户名 password=12345; / 定义口令, 双击“确定”按钮,在代码编辑区中输入该按钮的OnClick事件代码: procedure Tdenglu.BtnOKClick(Sender: TObject); / 判断所输入的用户名和口令是否正确,以决定“welcome”窗体上的显示内容。 begin if (txtusername.text=username) and (txtpassword.text=password) then begin / 用户名和口令都正确,执行 welcome.caption:=欢迎使用; welcome.label1.caption:=欢迎使用教师管理系统; end else / 用户名和口令只要有一项不正确,执行 begin welcome.caption:=拒绝使用; welcome.label1.caption:=口令错误,请重新输入; end ; welcome.ShowModal; / 显示welcome窗体 end; 双击“退出”按钮,在编辑区中输入该按钮的OnClick事件代码: close; / 关闭窗体,(4)运行程序 按F9,在用户名中输入“guest”,在口令中输入正确的口令“12345”,见图(a),单击“确定”按钮,显示“welcome”窗体,见图(b),若输入错误的用户名或口令,运行结果如图(c)所示。,(a) (b) (c) 图 运行结果,3、掩码编辑框MaskEdit,MaskEdit控件是一种格式化的编辑框,它的主要作用为以一定的格式规范用户所输入的数据。如邮政编码、固定格式的电话号码、身份证号码等。掩码编辑框隶属于类TmaskEdit,TmaskEdit继承了 Tedit的所有属性、事件和方法,即与组件edit类似。该组件位于【Additional】面板中,掩码编辑框MaskEdit主要属性,A、EditMask为掩码编辑框的掩码字符串属性,主要用于确定输入数据的格式以及风格。 取值主要划分成为三个部分,并且用分号隔开,如:“!99/99/00;1;_”,其中第一部分是掩码字符串的主要部分,它确定了数据的格式,第二部分为整数,默认为1表示掩码中的所有字符将被保存否则表示掩码中的非输入数据和标准分隔符不将被保存,第三部分代表了掩码中将要输入的末输入数据的字符。,掩码输入的格式定义是使用Input Mask Editor对话框来设置的。 打开Input Mask Editor对话框的方法有如下两种: (1)窗体上选中EditMask控件,在对象编辑器中选择EditMask属性,单击属性值旁所对应的按钮; (2)右击EditMask控件,在弹出菜单中执行Input Mask Editor命令,打开Input Mask Editor对话框。 使用时可以选择一个Delphi所提供的样本掩码,也可以自己设定特殊的掩码字符串。 B、edittext属性:返回掩码框中的文本内容,该属性只能在代码中使用。 C、ismasked:用于测试掩码框中是否设置了掩码,该属性只能在代码中使用。,Editmask属性中特殊字符的意义,例:使用maskedit编辑单行文本 步骤(1)新建应用程序,在窗体上添加5个label组件、4个maskedit组件、1个edit组件 (2)在form的oncreate事件写代码,为4个maskedit设置格式和显示文本。 代码如下:,procedure TForm1.FormCreate(Sender: TObject); begin MaskEdit1.EditMask :=9999年99月99日;1;_; /日期格式 MaskEdit1.Text :=2000年08月17日; MaskEdit2.EditMask :=99时99分;1;_; /时间格式 MaskEdit2.Text :=18时25分; MaskEdit3.EditMask :=9999年99月99日99时99分;1;_; /日期时间格式 MaskEdit3.Text:=MaskEdit1.Text + MaskEdit2.Text ; /日期与时间合并 MaskEdit4.EditMask :=(999)0000000-0000;0;_; /电话号码格式 MaskEdit4.Text :=02533268005275; Edit1.Text:=MaskEdit4.EditText; /显示运行时属性 end;,(3)运行如下 当改变maskedit1或maskedit2的日期或时间时,欲使maskedit3的内容同步修改,可在maskedit1的onchang事件上写下以下程序: procedure TForm1.MaskEdit1Change(Sender: TObject); begin MaskEdit3.Text:=MaskEdit1.Text + MaskEdit2.Text ; end;,4 Memo和RichEdit,多行文本编辑框Memo,当需要处理备注类型的多行文本时可以选用Memo控件,但Memo控件只能显示单一的一种字体格式,如果想使文本的字体多样化,可以选择RichEdit控件。 Memo控件隶属于Standard控件页中。,多行文本编辑框Memo 主要属性,(1)Lines属性: Lines是用于处理Memo对象中文本内容的属性,类型为Tstrings,即字符串数组类型 Lines作为一种对象又有其自身的方法Add方法、Delete方法、Insert方法、Move方法:如memo1.lines.add(A New line.)表示在最后增加一行。,Memo组件的常用方法 Add方法:该方法用来向字符串列表的尾部添加一个字符串。其语法格式如下: memo1.lines.add(aaaa); Append方法:在最后添加一行文本,如emo1.lines.append(aaaa);与add不同的是append是过程,而add是函数。 Delete方法:该方法用来从字符串列表中删除一个指定的字符串。其语法格式如下: memo1.lines.delete(0);/删除行0文本 Insert方法:该方法用来向字符串列表中插入一个字符串。其语法格式如下: memo1.lines.insert(2,ccc); Move方法:用于将一行文本从一个位置移动另一个位置。其语法格式如下: memo1.lines.move(3,1)/ 将行3文本移到行1位置. LoadFromFile方法:该方法的作用是用指定的文件填充字符串列表。 SaveToFile方法:该方法用来把字符串列表中的数据写到某文件中去。,(2)ScrollBars属性,ScrollBars属性用于控制滚动条的状态,取值分别为:,(3)WantTabs属性,该属性插入一个Tab字符,如果将WantTabs属性设置为True时,按下Tab键,插入一个Tab字符,否则按Tab键将改变窗体上获得焦点的组件。,(4)wordwarp属性 该属性决定memo组件是否具有自动换行的功能,默认值为ture表示当输入满一行后有自动换行的功能。 (5)wantreturns属性 该属性设置memo组件是否插入一个回车符,值为ture时按enter键插入一个回车符,否则按回车键事件由窗体处理,如果想输入回车符则需按下ctrl+enter组合键。,多行文本编辑框Memo 使用,例:对Memo控件中的文本进行编辑,其中包括:剪切、复制、粘贴、删除操作。,(1)创建应用程序界面,在窗体设计器中添加一个Memo控件,四个Button控件,并且分别将四个按钮控件的Caption属性设置为“剪切”、“复制”、“粘贴”和“删除”,将Memo1控件的Lines属性设置为所需要的文字,,(2)分别为四个按钮的单击事件编写代码:,“剪切”按钮的单击事件为: procedure TForm1.Button1Click(Sender: TObject); begin Memo1.CutToClipboard; end;,“复制”按钮的单击事件为: procedure TForm1.Button2Click(Sender: TObject); begin Memo1.CopyToClipboard; end;,“粘贴”按钮的单击事件为: procedure TForm1.Button3Click(Sender: TObject); begin Memo1.PasteFromClipboard; end;,“删除”按钮的单击事件为: procedure TForm1.Button4Click(Sender: TObject); begin Memo1.SelText:=; end;,丰富文本编辑框RichEdit( 该控件在Win32组件面板中),1常用属性 (1)SelStart以及SelLenght属性:分别表示被选中文字的起始位置和长度。 (2)DefAttributes和SelAttributes属性:分别为默认字体的样式和被选中文字字体的样式。 (3)Paragraph属性:光标以及被选中的文字所在位置的段落属性。,2丰富文本编辑框RichEdit的使用,RichEdit控件与Memo控件类似,不同之处在于RichEdit可以对所输入的文字单独进行字体的设置,类似于Microsoft Office中的Word。,例:对RichEdit控件中输入的文字进行字体的设置,(1)创建应用程序界面,在窗体设计器中添加一个RichEdit控件,以及六个按钮控件,将三个按钮控件的标题(Caption)属性分别设为“红”、“黄”、“蓝”、“隶书”、“宋体”以及“幼圆”,将RichEdit控件的Lines属性设为空,Font属性中的size(即字体大小)设为“24”,“红”、“黄”、“蓝”按钮用于设置选中文字的颜色,“隶书”、“宋体”以及“幼圆”按钮设置被选中文字的字体样式。,(2)编写按钮所对应的事件的代码:,单独设置RichEdit控件中所选定的文本的字体时,需要使用到SelAttributes属性,该属性表示当前选中文字的属性,其中Color表示选中文字的颜色,而Name表示选中文字的字体样式。,三种颜色所对应的按钮的单击事件为: procedure TForm1.Button1Click(Sender: TObject); /红色按钮 begin RichEdit1.SelAttributes.Color := rgb(255,0,0); end; procedure TForm1.Button2Click(Sender: TObject); /绿色按钮 begin RichEdit1.SelAttributes.Color := rgb(0,255,0); end; procedure TForm1.Button3Click(Sender: TObject); /蓝色按钮 begin RichEdit1.SelAttributes.Color := rgb(0,0,255); end

温馨提示

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

评论

0/150

提交评论