《常用基本控》PPT课件.ppt

上传人:wuy****n92 文档编号:70301135 上传时间:2023-01-19 格式:PPT 页数:63 大小:241.99KB
返回 下载 相关 举报
《常用基本控》PPT课件.ppt_第1页
第1页 / 共63页
《常用基本控》PPT课件.ppt_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《《常用基本控》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《常用基本控》PPT课件.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3 3章章 常用基本控件常用基本控件 Delphi程序界面的设计主要有控件组合而成,本章主要介绍基本控件。3.1 与输入/输出有关的控件3.2 使用对话框函数与对话框过程3.3 使用焦点3.4 用于分组的控件3.5 按钮类控件3.6 列表框与组合框3.7 使用计时器控件3.1 与输入输出有关的控件 在标准(Standard)组件板中,Delphi提供了最为基本的输入输出控件:标签(Label)控件、编辑框(Edit)控件以及进行多行输入的备注框(Memo)控件。3.1.1 Label控件3.1.2 Edit控件3.1.3 Memo控件3.1.4 MaskEdit控件3.1.1 Label控

2、件 标签(Label)是Delphi中最常用的输出文本信息的工具。与早期Pascal语言中的Write语句相比,标签更加灵活与方便。1.常用属性 标签在Delphi中用Tlabel类处理,其主要属性见表3-1。lCaption:设定标签中显示的文字lAutoSize:为True,标签的长度随文字的长度而改变lTransparent:为True,是透明标签,会显示背景颜色lAlignment:指定文本在标签矩形框内的水平对齐方式,taLeftJustify(左对齐),taCenter(居中),taRightJustify(右对齐)lLayout:指定文本在标签矩形框内的垂直对 齐 方 式,tlT

3、op(向 左 对 齐),tlCenter(居中),tlButton(向下对齐)lWordWrap:为True,文本到达矩形框右边界时自动折返;为False,文本太长时会截断l 可将标签组件的焦点转移给Form上的另一个对象,方法是设置标签组件的FocusControl属性。在值段中,选用与它关联对象的对象名。然后在标签中设置热键,即在Caption属性值段中输入含有“&”的字串,紧接“&”之后的字母称为热键字母,当用户使用“Alt+热键字母”时,将焦点选中它所指向的对象2.使用标签 Label控件显示的文本用户不能直接修改。有些没有自己的标题(Caption)属性的控件(如Edit等)可以用L

4、abel标识。在Label中显示的文本是由Caption属性控制的,该属性可以在设计时通过“属性”窗口设置或在运行时用代码赋值。3.1.2 Edit控件 编辑框(Edit)是一种通用控件,既可以输入文本,又可以显示文本,是应用程序中最常用的控件之一。1.常用属性 编辑框在Delphi中用TEdit类处理,其常用属性见表3-3。lReadonly:决定编辑框内的文本是否可以被编辑。为True时,只能显示文本,不能输入和更改文本lBorderStyle:设置编辑框的边框类型:bsSingle,单线边框;bsNone,无边框lAutoSelect:当组件获得焦点时,是否自动选中所有的文本lEnabl

5、e:为False,编辑框不响应任何事件lPasswordChar:指定一个字符来代替显示用户输入的字符,在用户输入密码时常用lMaxLength:编辑框内可输入文字的最大长度。0表示没有长度限制,默认值为0编辑框组件的常用方法 方法说明ClearClear清除编辑框内的所有内容ClearSelectionClearSelection清除编辑框内被选中的内容CopyToClipboardCopyToClipboard将编辑框内选中的文本复制到剪贴板中CutClipboardCutClipboard将编辑框内选中的文本剪切到剪贴板中PasteFromClipboaPasteFromClipboar

6、drd将剪贴板中的内容粘贴到编辑框中编辑框组件的常用事件:OnChange:当编辑框组件中的文本发生改变时触发此事件。OnKeyPress:当编辑框接收到键盘字符时触发。2.使用编辑框 编辑框中显示的文本是受Text属性控制的。Text属性可以用三种方式设置:设计时在“属性”窗口进行、运行时通过代码设置或在运行时由用户输入。通过读Text属性能在运行时检索编辑框的当前内容。【例3-2】输入球体的半径,然后计算并输出球体的体积和表面积(如图3-4)。图3-4 计算球的体积和表面积 3.1.3 Memo控件 多行编辑框组件Memo与Edit组件很相像,都是提供给用户在程序中输入数据或显示文字用的对

7、象。与编辑框组件不同的是,多行编辑框组件可以显示和编辑多行文本,而编辑框组件只能显示和编辑一行文本。多行编辑框组件的属性和方法与编辑框组件有很多相同之处,如Text、MaxLength、ReadOnly等属性。(1)Memo组件的Lines属性 Lines属性设置和显示在多行编辑框组件内的文本。在对象监视器窗口单击Line属性旁边的“.”按钮,打开编辑器窗口,在空白区域可以输入多行文本。区域的上方显示输入文本的行数。Text与Lines都用来存取数据,Text存放Memo对象中全部的输入数据,而Linesi存放第i+1行的字符串。例如:设置第5行文本值为“Delphi程序设计”程序代码可以写成

8、:Memo1.Lines4:=Delphi程序设计;。Lines常用的属性和方法 lStrings属性:指定组件每一行文本的内容Memo1.Lines.Strings0:=第一行;等效于Memo1.Lines0:=第一行;lAdd方法:在组件的最后添加一行文本Memo1.Lines.Add(最后一行下面加一行文字);lInsert方法:在指定行下方插入一行文本Memo1.Lines.Insert(2,第三行处插入一行);lDelete方法:删除组件内指定行的文本Memol.Lines.Delete(2);/删除第三行SaveToFile:将文本保存到文件Memo1.Lines.SaveToFi

9、le(C:tempa.txt);LoadFromFile:读取文件内容到Memo组件中Memo1.Lines.LoadFromFile(C:tempa.txt);Clear:清除组件内的所有文本Memo1.Lines.clear;(2)Memo组件的其他常用属性组件的其他常用属性 lScrollBar:设置是否显示滚动条。有四个值:ssBoth,显示水平和垂直滚动条;ssHorizontal,显 示 水 平 滚 动 条;ssVertical,显示垂直滚动条;ssNone,不加滚动条。lWantReturn:设置在组件内部能否使用回车键,为True表示可以使用回车键。lWantTab:设置在组件

10、内按Tab键是否起到移位作用,可取True和False两个值【例3-3】可以在备注框中直接输入多行文本,也可以先在编辑框中输入文本,然后将之添加到备注框中,如程序所示。3.1.4 MaskEdit控件 掩码编辑框(MaskEdit)控件属于“附加(Additional)组件板”。MaskEdit控件是格式化的编辑框,它限制用户在所定义的位置输入要求输入的符号。1.常用属性 MaskEdit控件在Delphi中用TMaskEdit类处理,TMaskEdit类也是TEdit类的子类,因此,TEdit类 所 具 有 的 属 性、事 件 和 方 法 在TMaskEdit类中都有。另外,TMaskEdi

11、t类还增加了一些新的属性 掩码字符串EditMask属性分为三个部分,用分号分隔。第一部分是掩码字符串的主要部分,它确定了数据的格式,其中所用到的特殊字符及其意义参见表3-10;第二部分决定是否将掩码中的字符串作为数据的一部分,0表示不作为数据的一部分,1表示作为数据的一部分,它将影响Text属性中的值;第三部分指出在掩码中用来代表未输入数据的字符。2.使用掩码编辑框 在设计阶段,可以通过Delphi的Input Mask Editor对话框来设置EditMask属性。可以直接输入掩码字符串,也可以选择一个样本掩码字符串。Delphi提供了电话号码、日期、时间以及其他样本掩码字符串供选择使用【

12、例3-4】使用掩码编辑框输入个人数据,如程序所示。3.2 3.2 使用对话框函数与对话框过程使用对话框函数与对话框过程 对话框是用户与应用程序之间交换信息的最佳途径之一。使用对话框函数或过程可以得到Delphi的内部对话框,这种方法具有操作简单及快速的特点。Delphi提供的内部对话框有两种:(1)信息对话框使用过程ShowMessage、ShowMessageFmt、函 数 MessageDlg、MessageDlgPos、CreateMessageDialog。(2)输入对话框使用函数InputBox、InputQuery。3.2.1 ShowMessage3.2.1 ShowMessag

13、e和和ShowMessageFmtShowMessageFmt过程过程1.ShowMessage过程 ShowMessage过程显示一个最简单的对话框,其语法格式为:ShowMessage(ShowMessage(信息内容信息内容););2.ShowMessageFmt过程 ShowMessageFmt过程的语法格式为:ShowMessageFmt ShowMessageFmt(信信息息内内容容,参参数数组组););showmessagefmt(%s已进球%d个!,公牛队,11);3.2.2 MessageDlg与MessageDlgPos函数 MessageDlg与MessageDlgPos

14、函数可以显示一个信息对话框,并等待用户的响应。1.MessageDlg函数 调用MessageDlg函数,可以在屏幕的中心处显示信息对话框,其语法格式为:变变量量=MessageDlg(MessageDlg(信信息息内内容容,类类型型,按钮组按钮组,HelpCtx);,HelpCtx);2.MessageDlgPos函数 调用MessageDlgPos函数,可以在屏幕的指定位置显示信息对话框,其语法格式为:变变量量=MessageDlgPos(MessageDlgPos(信信息息内内容容,类型类型,按钮组按钮组,HelpCtx,X,Y);,HelpCtx,X,Y);说 明:MessageDlg

15、Pos函 数 只 比MessageDlg函数多一项功能,即它可以指定对话框的显示位置坐标:X,Y。3.2.3 CreateMessageDialog函数 与 上 述 函 数 与 过 程 不 同,CreateMessageDialog函数生成一个信息框 窗 体,可 以 在 程 序 中 多 次 使 用ShowModal方法调用。其语法格式为:变变量量=CreateMessageDialog(CreateMessageDialog(信信息息内容内容,类型类型,按钮组按钮组););3.2.4 InputBox与InputQuery函数 InputBox与InputQuery函数可以显示一个供用户输入的

16、对话框。1.InputBox函数 InputBox函数显示一个能接受用户输入的对话框,并返回用户输入的信息。【例例3-63-6】华华氏氏温温度度和和摄摄氏氏温温度度相相互互转转换换的程序。利用对话框输入温度的程序。利用对话框输入温度。2.InputQuery函数 如果希望对单击Cancel按钮(退出事件)另作处理,可以选用InputQuery函数。该函数与InputBox函数相似,只是返回值是一个布尔值。其语法格式为:变变量量=InputQuery(InputQuery(对对话话框框标标题题,信息内容信息内容,字符串变量字符串变量)3.3 使用焦点 焦点(Focus)就是光标,当对象具有“焦点

17、”时才能响应用户的输入,因此也是对象接收用户鼠标单击或键盘输入的能力。在Windows环境中,在同一时间只有一个窗体或控件具有这种能力。具有焦点的对象通常会以突出显示标题或标题栏来表示。与焦点相关的控件属性TabOrder、Tabstop.可以用SetFocus方法在代码中设置焦点。编写窗体的OnActivate事件代码,其中调用SetFocus方法,使得程序开始时光标(焦点)位于编辑框Edit1中:procedure procedure TForm1.FormActivate(Sender:TForm1.FormActivate(Sender:TObject);TObject);beginb

18、egin edit1.SetFocus;end;end;在程序运行的时候,用户可以按下列方法改变焦点:(1)用鼠标单击对象。(2)按Tab键或按Shift+Tab键在当前窗体的各对象之间巡回移动焦点。(3)按热键选择对象。3.4 3.4 用于分组的控件用于分组的控件 面板(Panel)与组框(GroupBox)控件用于对其他控件进行分组。它们都属于“容器”型控件,即可以在其中包含其他的控件。所包含的控件称为是容器控件的“子控件”,而容器控件则是其子控件的“父控件”。当父控件的位置、可视性(Visible)以及有效性(Enabled)属性发生改变时,其中的子控件也发生同样的变化。3.4.1 Pa

19、nel控件 Panel组件内,起分组作用。另外,Panel组件提供了优化视觉效果的属性,因此Panel组件也常作为某些组件的背景,使程序界面更协调、优美。面板组件Panel还常用于制作信息栏或状态栏。面板组件Panel的常用属性 lAlign:固定Panel的位置:alBotton,固定在父组件下方;alCient,覆盖父组件的全部;alLeft,固定在父组件左方;alNone,位置没有限制;alRight,固定在父组件右方;altop,固定在父组件上方lBevelInner:确定Panel内层是凸出还是凹下:bvLowered,内层凹下;bvNone,内层无凹凸;bvRaised,内层凸出l

20、BevelOuter:确定Panel外层是凸出还是凹下:bvLowered,外层凹下;bvNone,外层无凹凸;bvRaised,外层凸出lBevelWidth:确定Panel内层或外层边界线的粗细,数值越大界线越粗lBorderStyle:确定Panel是否有外框。lBorderWidth:确定Panel外层部分的宽度,数值越大外层越宽3.4.2 GroupBox控件l 组框(GroupBox)是一个带有标题的类似面板的控件。作为容器控件,它可以为一组相关的控件提供分组,并使这些控件在组标题下显得更有条理;作为分组控件,它可以管理其中的相关控件,使之更好地协调工作。3.5 按钮类控件 在Wi

21、ndows编程中,按钮的使用几乎是必不可少的。Delphi中的按钮类控件包括:基本按钮Button、位图按钮BitBtn、复选框CheckBox、选项按钮RadioButton等。3.5.1 Button控件l(1)Button按钮的常用属性lCaption:按钮上显示的文本lDefault:设定按钮是否为默认按钮。默认按钮在打开窗体或对话框时首先取得焦点,此时按下Enter键,将执行默认按钮的OnClick事件处理代码。虽然可将多个Button对象指定为默认按钮,但只有Tab次序最前的Button对象才是真正的默认按钮lCancel:设定按钮是否为取消按钮,取消按钮的功能与默认按钮相同,但它

22、是针对Esc键设计的。当用户按下Esc键,被设为取消按钮的OnClick事件处理就会被执行lModalResult 属性取值见P72l注意:当button被置于模式窗体时,ModalResult才有意义。当按钮按下模式窗体自动关闭,并且ModalResult属性值会作为ShowModal函数的结果返回。(2)Button按钮的常用事件 Button按 钮 常 用 的 响 应 事 件 有:OnClick、OnDblClick、OnMouseMove、OnMouseUp、OnMouseDown等。OnClick及OnDblClick处理事件是最常用的。当用户用鼠标在Button对象上单击一下,或是

23、当焦点在Button对象上时按下Enter键,触发OnClick事件处理。因此,可以把单击Button对象后要执行的程序放在这个事件处理中。3.5.2 BitBtn控件 BitBtn位图按钮组件 位图按钮与基本按钮的作用相同。基本按钮上只能显示文字,而位图按钮上不仅可以显示文字,还可以显示位图,使界面更加美观。BitBtn控件位于Additional组件板中BitBtn在TbitBtn类处理中。BitBtn组件的常用属性lCaption:位图按钮上显示的文字lKind:确定位图图形的种类,可取11个值。当为bkCustoms时,位图图形由Glyph属性确定。取另外10个值,由系统规定按钮的图形

24、和文字(见书P73)lGlyph:确定位图图形文件(*.bmp)lSpacing:确定按钮上位图与文字的像素个数。为-1时,文字、位图、按钮成等距离lMargin:确定位图与按钮边界之间的像素个数,默认值-1表示位图位于按钮的正中。Layout:位图按钮上文字和图形的布局。为blGlyphLeft,图像在文字的左边;为blGlyphRight,图像在文字的右边;为blGlyphTop,图像在文字的上面;为blGlyphBottom,图像在文字的下面3.5.3 CheckBox控件 复选框有一小方框,旁边带有文本说明,一般具有选中和未选中两种状态,鼠标单击复选框可以在这两种状态之间切换。选中复选

25、框时,小方框内有标记。复选框组件通常由多个复选框组件形成一组,在这一组中用户可同时选中多个组件,选项彼此之间是不具有“互斥性”的,不会影响其他选项的行为,适用于要进行多项选择的情况。组件可以识别OnClick事件。复选框组件的常用属性 lState:指定三种状态:cbChecked,选中;cbUnChecked,未选中;cbGrayed,不确定lChecked:为True,则选中,小方框内有标记;为False则未选中lCaption:设置复选框旁边的说明文字3.5.4 RadioButton控件 单选按钮(RadioButton)又称选项按钮,一般总是作为一个组(单选按钮组)的组成部分工作的。

26、单选按钮组是一组相互排斥的单选按钮,选择一个单选按钮就会立即清除该组中的其他按钮。1.使用单选按钮组 在窗体中定义的若干单选按钮自动组成一个单选按钮组。2.分组使用单选按钮 对于一个窗体中的多个单选按钮,系统自动将其组成一个单选组。若需要使用多组按钮组时,必须使用分组控件(如Panel、GroupBox)将其分别成组。这样,就可以在每个组中进行选择。按Tab键可以在组以及其他控件之间移动焦点。【例3-13】修改例3-11,利用单选组输入性别与民族。3.5.5 RadioGroup控件 按钮组(RadioGroup)控件巧妙地将一个GroupBox与一组RadioButton组合在一起,可以使用

27、统一的索引号(ItemIndex),为编程提供了方便。Caption:设置显示在组件上方的文字Columns:设置组件的列数,最多可有16个ItemIndex:设置单选分组框中被选中的单选按钮的索引值,从0开始Item:设置单选分组框中单选按钮的标题文字,每行文本代表一个选项。单选按钮组的实现通常用三种方法:l利用GroupBox分组组件+RadioButton单选按钮组件l利用Panel面板组件+RadioButton单选按钮组件 l利用RadioGroup单选分组框组件。3.6 列表框与组合框 在输入/输出控件中,曾经使用备注框(Memo)来处理多行文本的输入与输出,不过对多行数据更为方便

28、的操作是使用列表框(ListBox)与组合框(ComboBox)。列表框和组合框为用户提供了多项的选择和信息。二者的不同在于:组合框不仅提供选项供用户选择,而且还允许用户通过键盘输入数据,相当于编辑框EditBox与列表框ListBox的结合。3.6.1 列表框 列表框中可以显示出所有可能的数据供用户选择,用户可以选择其中的一项或多项,因此用户输入数据可以不必使用键盘。列表框组件常用于选项较多的情况。列表框组件的常用属性 lItems:列表框内的选项数据。可以在设计阶段单击属性右边的“.”按钮,在编辑窗口输入选项,一行对应一个选项。程序运行时,可以利用Items对象提供的方法:Add添加一个选

29、项,Delete删除一个选项,Clear删除所有选项,Insert插入一个选项,Move移动选项位置,Exchange交换两个选项的位置。lCount:列表框内的选项数据的项数lItemsIndex:选项在Items数组中的编号,从0开始至Count-1,属性指出在列表框中被选中的那个项目的索引号Columns:列表框的列数MultiSelect:是否可以选择多项SelCount:被选中项目的数量Selected:设置或返回某选项是否被选中Sorted:决定列表框的选项是否排序 组合框组把Edit编辑框和ListBox列表框两者功能合二为一,用户可以直接输入内容,也可以单击向下的箭头后拉出一个

30、列表框,从中选择某个列表项。在组合框中选项数据的新增、删除、移动、选取等等,也是利用Items对象的Add、Delete、Clear、Insert、Exchange、Move等方法完成。3.6.2 组合框组合框组件的常用属性 lItems:组合框下拉列表的选项数据。可以在设计阶段单击属性右边的“.”按钮,在编辑窗口输入选项,一行对应一个选项。程序运行时,可以利用Items对象提供的方法:Add添加一个选项,Delete删除一个选项,Clear删除所有选项,Insert插入一个选项,Move移动选项位置,Exchange交换两个选项的位置lCount:下拉列表的选项数据的项数lItemsInde

31、x:选项在Items数组中的编号,从0开始至Count-1lText:确定在组合框中显示的文本Sorted:决定组合框的列表选项是否排序Style:组合框的风格,有几种可供选择的风格:csDropDown,标准风格,用户可以在组合框中输入,每个列表项的高度相同;csDropDownList,只有列表框,没有编辑框,列表项的高度相同;csSimple,只有编辑框,没有列表框DropDownCount:组合框下拉列表显示选项的最大行数3.7 使用计时器控件 计时器(Timer)控件可以在应用中以重复的时间间隔产生一个事件。这对不需要与用户交互的代码的执行非常有用。Timer控件位于System组件

32、板中,属于非可视化控件,在设计时显示为一个小时钟图标,而在运行时则不可见,常用来做一些后台处理。(1)Enable属性:该属性值决定Timer是否有效。如果Enable值为True,则OnTimer事件将发生;如果是False,则OnTimer事件不发生。Enable缺省值是True。(2)Interval属性:该属性值以毫秒为单位,决定了触发OnTimer事件的时间间隔。缺省值是1000(即1秒),取值范围是065535之间的整数。如果将Interval设为0,则没有OnTimer事件发生。(3)OnTimer事件:每经过由Interval属性确定的时间间隔,为该事件编写的处理程序将自动执行一次。利用计时器控件,可以很方便的设计一个电子表。【例3-20】在窗体上设计一个数字时钟,如程序所示。3.7.1 设计一个电子表3.7.2 设计一个计时器 计时器控件最自然的应用是设计一个计时器(秒表)。利用计时器可以在运动场上测试短跑项目的成绩,可以记录考试所用的时间等。下面的例子给出一个简单的计时器,按“开始”按钮,开始计时,按钮变为“继续”。按“暂停”按钮,停止计时,显示时间读数。任何时候按“重置”按钮,时间读数都将重置为0。3.7.3 设计一个流动字幕板【例3-22】为一个应用系统设计流动字幕板,如图3-43所示,标题“欲穷千里目,更上一层楼”在窗体中自右至左地反复移动。见程序所示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁