1、第三章 常用组件的使用,授课内容: 窗体 常用组件,Delphi7程序设计教程,课前导读,前面章节中我们接触了一些组件。组件(Components)是在工程设计时可以使用、处理的可视对象,是那些用于生成用户界面以及为程序提供附加功能模块的对象。Delphi用组件来辅助应用软件的开发。在Delphi中,我们能够从集成开发环境中的组件板上找到绝大多数组件,所有的组件都是可视组件库的组成部分。Delphi也为我们提供了采用第三方组件的接口,利用第三方组件可以给我们的程序添色不少。本章主要介绍Delphi7.0中常用组件的基本功能和使用方法。,常用组件,按钮类组件的使用和分类组件的使用 文本类组件的使
2、用 列表类组件的使用 时钟组件(Timer)的使用 标准对话框的使用 菜单、工具栏和状态栏 进度条ProgressBar组件 TrackBar组件 DriveComboBox、DirectoryListBox、FileListBox等组件 滚动条ScrollBar组件 TabControl组件和PageControl组件 其他组件,窗体的属性,Name FormStytle BorderStyle BorderIcons Position 其他属性,窗体的常用事件,OnActivate OnCreate OnPaint OnShow,窗体的常用方法,Close Hide Refresh Sho
3、w Release,3.1按钮类组件的使用,按钮类组件通常都能响应鼠标和键盘事件,是实现人机交互的最常用的组件。按钮类组件包括: Button组件 例 Bitbtn组件 例 SpeedButton组件 例 RadioButton组件 例 CheckBox组件 例,Button组件的常用属性,Caption 用于在按钮上显示文本内容 Cancel 用来指示按钮是否为取消按钮 Default 用于制定按钮是否为默认按钮,在按Enter键时也选中命令按钮 Hint 设置在鼠标在组件上短暂停留时在组件旁显示的提示小窗口的内容。 ShowHint 确定是否显示提示文本,默认值是FALSE Enabled
4、 设置按钮是否可以活动 Name 设置按钮的名称 Cursor 设置鼠标形状,Button组件的主要事件:OnClick事件,当程序运行时,用户单击鼠标上的按钮后,就会触发该事件。并且,若出现以下这3种情况之一时,Onclick事件也会被触发:当按钮上有一个焦点,且用户按下了空格键;当窗体有一个默认按钮(由Default属性所指定),且用户按下了Enter键;当窗体上有一个Cancel按钮(由Cancel属性所指定),且用户按下了Esc键。,Bitbtn组件,Bitbtn组件也称为位图组件,它位于组件面板的Additional标签页,与Button组件很相似,只是多了一个位图符号在按钮上。该组
5、件用于创建一个其上带有位图的按钮(例如:带有对号的OK按钮,带有错号的Cancel按钮,带有问号的Help按钮等)。,Bitbtn组件的常用属性,Kind Kind属性的值就是位图按钮组件上所显示的图标。在对象监视器的Properties页中,单击Kind属性后的下拉三角按钮,从弹出的下拉列表中,列出了一组默认图标的属性值,有:bkAbort、bkAll、bkCancel、bkClose、bkCustom、bkHelp、bkIgnore、bkNo、bkOK、bkRetry、bkYes。从中选择一个值后,你就可以从位图按钮中的图标上直观、清晰地看出该按钮的功能。 Glyph 用于在位图按钮上显示
6、加载后的位图图形。 Layout 用于指出位图图形在位图组件上的放置位置。 NumGlyphs 用于指明位图按钮所能使用位图的个数。在Delphi中,最多允许向一个位图按钮提供4个位图文件,用于表示四种不同的状态。,SpeedButton组件,SpeedButton组件也称为加速按钮,它位于组件面板的Additional标签页,常放置在Panel组件上,用于设计工具栏。它与Bitbtn组件非常相似,也可以显示图像和文本,但通常只用于显示图像。,SpeedButton组件的重要属性,AllowAllUp 用于设置同一组的加速按钮是否具有同时弹起的状态。若设置为FALSE,则当同一组加速按钮中的一
7、个被按下时,其他加速按钮都处于弹起状态,即这组按钮中必须有仅有一个处于按下状态。 Down用于设置该加速按钮是否处于按下状态。若设置为TRUE,则表示按钮处于按下状态。 Flat 用于设置在鼠标移动到该按钮上时,按钮是否出现三维效果。若设置为FALSE,则不会出现三维效果。 GroupIndex 用于将数个加速按钮设置成一组,只需将其值设置成不等于0的数值即可。,RadioButton组件,RadioButton组件也称为单选框按钮,它位于组件面板的Standard标签页。此类组件通常会被组成一组,并且在同一组中,同一时刻只能选择一个单选按钮,其余按钮都处于非选中状态。,RadioButton
8、组件的重要属性,Alignment 用于设置单选框中选择框和文字的排列方式。若设置为taLeftJustify,则文字将位于选择框的左边;若设置为taRightJustify,则文字将位于选择框的右边。 Checked 用于表示单选框是否处于被选中状态。若设置为False,则表示未被选中状态;若设置为True,则表示选中状态。,CheckBox组件,CheckBox组件也称为复选框,它位于组件面板的Standard标签页。该组件主要用于进行多重选择。 CheckBox组件的重要属性: AllowGrayed 设置是否使此复选框变成灰色,即无法选中。 State 用于表示复选框的当前状态,共有3
9、个状态值,分别是:cbChecked(选中状态)、cbUnchecked(未选中状态)、cbGrayed(变灰状态)。,3.2 分类组件的使用,GroupBox组件GroupBox组件为标准的分组框组件,它在组件面板的Standard标签页上。在该组件里可以放置其他组件如Radiobutton组件、Checkbox组件等。放进去的组件将会自动成为一组。通过它的Caption属性可以修改该组件的标题。 RadioGroup组件 Panel组件它是一个可视化及灵活性都比较好的分组框组件,可作为放置组件的容器,在播放视频多媒体时我们用它作为播放的屏幕。它与GroupBox组件的不同之处是它没有标题,
10、不过Panel组件有丰富的边框风格,这是GroupBox组件所不具有的,可通过设置BevelInner属性和BevelOuter属性来改变Panel组件的边框样式。,RadioGroup组件,RadioGroup组件与GroupBox组件不同,它不能直接从组件面板上把组件添加到此组件里,即便是添加了一些组件,这些组件也不会自动成为一组。正确的添加方法是,单击此组件,在对象查看器中单击Items属性旁边的省略号按钮,然后在弹出的String List Editor对话框中添加项,每添加一行就会产生一个RadioButton组件,添加完单击OK按钮。,RadioGroup组件的重要属性,(1)Co
11、lumns属性它决定添加的多个RadioButton组件在RadioGroup组件中显示为几列。 (2)Caption属性它是RadioGroup组件的标题 (3)ItemIndex属性它是该组件中当前被选中的RadioButton组件的索引值。 (4)Items属性用此属性来创建修改或删除RadioButton组件返回,3.3 文本类组件的使用,Label组件 Edit组件 Memo组件 MaskEdit组件 LabelEdit组件 SpinEdit组件 RichEdit组件 StringGrid组件,Label(标签)组件常用属性,Caption:设置标签上显示的文字 Alignment:
12、设置标签中的文本在水平方向对齐方式 Font:用于设置标签显示文字的字体 Layout:设置标签中的文本在垂直方向上的排列方式 Autosize:设置标签尺寸是否随Caption属性中文字的字体大小而自动进行调整 WordWrap:用于设置标签上的文字是否自动进行转行。若设置为false,则当标签上的文字太长时,会被截断;若设置为true,则标签上的文字太长时,会自动转到下一行显示。多行显示(要有空格) Height,Width:高度和宽度 Transparent:透明 返回,Edit(编辑框)常用属性,BorderStyle:边框类型 CharCase:设置Edit组件中文字的大小写显示方式
13、,有以下3个数值:ecLowerCase(全部转化为小写显示)、ecNormal(不转化,按原样显示)、ecUpperCase(全部转化为大写显示) Modified 用于判断Edit组件里的文字内容是否被修改过。若为false,则表示没有改过;若为true,则表示修改过。 MaxLength:最大长度 PasswordChar:用于设置密码显示字符,如“*” ReadOnly:只读 Text:用于显示编辑框中的文字内容,Edit组件常用事件,OnChange 当编辑框中的文字内容发生变化时触发该事件 procedure TForm1.Edit1Change(Sender: TObject);
14、 beginif edit1.text= thenvar1:=0elsevar1:=strtoint(edit1.Text); end;,OnDblClick事件 当Edit组件被双击时触发此事件。 例:介绍Label组件、Edit组件和剪贴板的使用。,Edit组件常用事件,OnKeyPress 当按下键盘上某ASCII码键时触发。此事件经常用来过滤用户输入的字符,或在输入结束时按下回车键即将输入焦点自动移动下一个组件上。 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); beginif key=#13 thened
15、it2.SetFocus; end; 返回,Memo(多行编辑框)组件,常用属性 Lines:用于访问框中每一行的内容 MaxLength:设置文本框中最大文字输入量 ScrollBar:用于设置是否需要加入滚动条。有以下这几个值:ssBoth水平和垂直滚动条都加上、ssHorizontal加水平滚动条、ssVertical加垂直滚动条 WantReturns:用于设置在框中“Enter”键是否起回车作用 WantTabs:用于设置在框中“Tab”键是否起移位作用,常用方法: Lines:/加入一行数据Memo1.Lines.Add(some strings);/第一行插入数据Memo1.Li
16、nes.Insert(some strings);/清空数据Memo1.Lines.Clear; LoadFromFile,SaveToFile:文件的读取和存储。 Memo组件同Edit组件一样,也可用CutToClipboard,CopyToClipboard和PasteFromClipboard方式来实现与剪贴板之间的数据交换。返回,MaskEdit组件,MaskEdit组件位于组件面板的Additional标签页。与Edit组件相似,它用于显示和编辑具有特定格式的文本,如特定输入格式的时间等。它具有一个与Edit组件不同的EditMask属性,单击EditMask属性后的“”按钮,打开
17、“Input Mask Editor”对话框。可以在这个对话框中设置所要显示文字的格式。方法是:在“Sample Masks”列表框中选中一种格式,然后单击“OK”按钮。,LabelEdit组件,LabelEdit组件位于组件面板的Additional标签页,它的作用相当于使用Label组件和Edit组件的组合。 LabelEdit组件的主要属性: EditLabel:用于对LabelEdit组件的标签部分进行设置,与Label属性设置大同小异 LabelPosition:用于设置放置标签的位置 LabelSpacing:用于设置标签和编辑区之间的间距,调整单位是像素,SpinEdit组件,S
18、pinEdit组件位于组件面板的Samples标签页上,它由上下调整按钮和编辑框组成,通过上下按钮以一定的步长来调整该组件编辑框中的数字。该组件有3个主要属性: (1)MinValue属性和MaxValue属性用于确定编辑框中出现的数字的下界和上界。 (2)Increment属性用于确定每次调整的步长,即调整的间隔,默认值为1。当编辑框中的数值发生变化时将触发SpinEdit组件的OnChange事件,可在该事件的处理代码中得到当前编辑框中的数值。 返回,StringGrid组件,StringGrid组件以表格的形式来显示或编辑字符串。用它比较字符串时,它的每一格相当于一个Edit组件。它位于
19、组件面板的Additional标签页上。常用的属性如下: (1)ColCount属性通过这个属性可以设置和获得该组件的列数。 (2)RowCount属性通过这个属性可以设置和获得该组件的行数。 (3)CellsColumn,Row属性可以获得列数为Column,行数为Row的单元格的内容,也可以为其赋值。 (4)BorderStyle属性用来设置StringGrid组件边框风格,它有两个值:值bsSingle有单线边框;值bsNone说明组件无边框。返回,ListBox组件 ComboBox组件 DateTimePicker组件 CheckListBox组件 ListView组件和TreeVi
20、ew组件,3.4列表类组件,ListBox列表类组件的使用,ListBox组件也称列表框,位于组件面板的Standard标签页,它能以滚动列表的形式显示条目以供用户选择。 常用属性 Items:列表框的内容 Columns:列数的控制 Count:项目的个数 ItemIndex:被选中项目的索引号,1表未选中 MultiSelect、 ExtendedSelect :是否允许选择多个项目 Selectedi:第i项是否被选中 Sorted:用于设置列表框中的列表项是否按字母顺序排列显示 ItemHeight:用于设置每个列表项的高度,单位是像素。,ListBox列表类组件的使用,常用方法: L
21、istbox1.items.add(string);/添加项目 Listbox1.items.delete(i);/删除第i项 Listbox1.items.clear;/清除所有项目 返回,ComboBox组合框组件的使用,ComboBox组件也称为组合框,位于组件面板的Standard标签页。它是一个将编辑框和列表框结合起来的组件,因此,它组合了编辑框和列表框的功能,某些属性与编辑框和列表框也很相似。,ComboBox组件的主要属性,DropDownCount: 用于设置下拉后的列表框中所能显示的列表项的数目。当列表框中的列表项多于这个数目时,就会出现滚动条。 DroppedDown:用于
22、表示列表框是否已被下拉。注意:这个属性只有当Style属性不是csSimple时,才有效。 Style:用于设置组合框显示时的样式,有以下5种样式:,Style:用于设置组合框显示时的样式,有以下5种样式: csDropDown:标准格式,用户可以在编辑框中输入,每个列表项的高度相同。 csDropDownList:只有列表框,没有编辑框,每个列表项的高度相同。 csOwnerDrawFixed:有编辑框和列表框,但用户不能在编辑框中输入,每个列表项的高度由ItemHeight属性来指定。 csOwnerDrawVariable:有编辑框和列表框,但用户不能在编辑框中输入,每个列表项的高度可以
23、不同。 csSimple:只有编辑框,没有列表框。,DateTimePicker组件,位于组件面版的Win32标签页上.该组件显示一个列表框,用于输入时间或日期. Kind属性:如果设置为dtkTime,则显示的是时间,如果设置dtkDate,则显示的是日期。 DateFormat属性:用于设置日期的格式,有两种格式:dtLong(长日期型)和dtShort(短日期型)。 DateMode属性:值dmComboBox将日期设置为下拉式组合框的形式;值dmUpdown将日期设置为上下按钮的形式。 Date属性和Time属性:得到设置的日期和时间。 例,CheckListBox组件,在组件面板的A
24、dditional标签页上.CheckListBox是一个列表框组件,在列表框中可以有一列或多列选项,每个选项都带有复选按钮.可以通过该组件的Items属性来编辑列表框中的项,在设计阶段通过String List Editor对话框来添加、修改列表内容。在运行期间,可以通过Items属性的Add、Delete和Insert方式来编辑列表框中的列表项。该组件的Checked属性和Selected属性用来设置选中项和判断某项是否被选中,这两个属性都是非可视的属性,即在对象查看器中见不到,它们通过下标来访问某项。CheckListBox.Checked5:=True; If (CheckListBo
25、x1.Selected2) then showmessage(项2被选中);,ListView组件和TreeView组件,Windows的资源管理器使用了TreeView组件来显示文件数目录,使用ListView组件来显示一定目录下的文件信息.位于组件面版的Win32标签页上。要想使ListView组件能显示图标,应先在窗体中放置一个ImageList组件然后将ListView组件的LargeImage属性、SmallImages属性和StateImage属性设为ImageList。ViewStyle属性用来设置该组件的显示方式。要想使TreeView组件能显示图标,应先在窗体中放置一个Ima
26、geList组件然后将TreeView组件的Images属性和StateImage属性设为ImageList。,3. 5时钟组件,常用属性 Enabled:用于表示计时器打开还是关闭。 Interval:用于设置OnTimer事件的时间间隔,单位是毫秒。将间隔设置为0相当于关闭计时器,Interval的最大允许值是32767,即32.767秒。,3. 6 标准对话框的使用,OpenDialog组件和SaveDialog组件 FontDialog组件和ColorDialog组件 PrintDialog组件和PrintSetupDialog组件 FindDialog组件和ReplaceDialog
27、组件,几个对话框函数 (看帮助),ShowMessage()函数 显示一般消息的对话框 MessageDlg()函数 可以与用户交互的消息显示对话框 InputBox()函数 ShowMessagePos 可以指定显示位置的消息显示对话框 MessageDlgPos 可以指定显示位置的与用户交互的消息显示对话框 MessageBox 封装了Windows API函数的消息显示对话框,3. 7 菜单、工具栏和状态栏,菜单组件 ToolBar组件 “New Button”或“New Separator” StatusBar组件 Panels属性,菜单组件,Delphi提供了两种菜单组件:MainM
28、enu组件(主菜单组件)、PopupMenu组件(弹出式菜单组件)。 打开菜单设计器 创建菜单项 菜单项分组创建分隔符: Caption属性设置为“”(减号) 增加和删除菜单项 创建多级菜单,某一菜单内容的子菜单(即嵌套菜单) 菜单项的特殊操作 菜单模板,增加和删除菜单项,要在菜单设计器中增加或删除一个菜单项,首先选择该菜单项并右击,就会弹出快捷菜单。在该快捷菜单中选择Insert命令,就会在选定菜单项的上端增加一个新的菜单项;选择Delete命令,就会删除选定的菜单项。当然也可以直接按Insert键来增加菜单项,按Delete键来删除菜单项。,建立级联菜单,首先先选定要建立级联菜单的菜单项并
29、右击,从弹出的快捷菜单中选择Create SubMenu命令,这时就会在原菜单项右侧出现一向右的箭头符号,并出现一带有空白菜单项的级联菜单,键入级联菜单的名称即可完成创建。此外,也可以按Ctrl右箭头来完成相同的操作。,菜单项的特殊操作,创建热键 热键字母前加“&” Alt+热键字母 创建快捷键: 设置ShortCut属性 移动菜单项 拖放 创建单选或复选菜单 checked属性 菜单项变灰 Enabled属性值为False 隐藏菜单项 Visible为False 把一个菜单分成几列来显示 Break 添加图标 MenuItem对象的BitMap属性添加一个ImageList组件,MainMe
30、nu的Images属性值为该ImageList, 用菜单项的ImageIndex属性指定其中一个图像的序号。,菜单模板,应用程序虽然形式各异、功能不同,但一般来说其菜单已经有了固定的格式,因此Delphi特意提供了菜单模板,菜单模板中已经定义了几组常用的菜单。在设计某些菜单时,可以以模板中已有的菜单为基础,再进行修改。有了菜单模板,可以为用户节省大量时间,还可以把自己设计的菜单加入菜单模板,可以供他人或自己继续使用。这样便提高了软件代码的利用率。,在窗体的MainMenu控件上右击鼠标,将弹出快捷菜单选择Insert From Template命令,将打开Insert Template对话框,
31、选择一个菜单,单击OK,选中的菜单就会加进MainMenu中。选择快捷菜单的Save As Template命令,会打开添加菜单模板对话框。在Template Description中输入为菜单选定的名字,点击OK确定,刚才编辑的菜单就会被存为模板了。要删除菜单模板,选定该模板后,从右击快捷菜单中选择Delete Templates命令,打开Delete Templates对话框,选定要删除的菜单模板后选择ok按钮就删除了所选的模板。,ToolBar组件,ToolBar组件位于组件面板的Win32标签页,用于创建工具栏。将该组件放置在窗体上后,它会根据窗体的大小自动调整宽度。用鼠标右键单击它,
32、从弹出的快捷菜单中选择 “New Button”或“New Separator”命令即可为工具栏上添加新按钮,添加后的按钮会自动从左到右进行排列。ShowCaption属性为真,按钮上可以显示标签,使按钮尺寸变大。,StatusBar组件,StatusBar组件也称为状态栏,它位于组件面板的Win32标签页。在应用程序中,通常都位于主界面的底部,用于显示文件的各种状态。 Panels属性 SimplePanel和SimpleText,CoolBar,CoolBar Win32,3.8 Tabcontrol组件和PageControl组件,TabControl组件 位于组件面板的Win32标签页
33、。它用于在应用程序中为某个窗口或者对话框的相同区域定义多个页面,每个页面的组件在设计阶段是相同的。 PageControl组件 位于组件面板的Win32标签页。它可以在应用程序中为窗体定义多个不同的页面,但每个页面的组件可以相同也可以不同。,3.9 进度和滚动控制,ProgressBar 标准进度条 Gauge进度条 类比标准进度条 用文字显示百分比 ShowText 不同形状的进度条 kind TrackBar 标尺进度条 ScrollBar 滚动条 ScrollBox 滚动框 AutoScroll属性 HorzScrollBar和VerScroll属性Position Increment
34、Tracking,进度条ProgressBar,ProgressBar组件位于组件面板的Win32标签页。它以不断向前增进的图形方式来显示某项操作的进程,为用户提供可视的反馈信息。 Align:用于设置进度条的位置 Max、Min:用于设置进度条组件的最大、最小值。 Orientation用于设置进度条的方向(水平或垂直方向) Position用于设置当前操作所完成的数值度量 Visible用于设置进度条是否可见。在操作开始以前,通常都不显示进度栏;并且在操作结束之后,它也应该不显示出来。 例:单击按钮后,进度条开始显示进度,TrackBar组件,TrackBar组件位于组件面板的Win32标
35、签页。它包含一个滑块和一个刻度标记,通常用于通过拖动滑块,来改变某个数值。 Frequency:用于设置该组件刻度标记的频率,此频率与其范围有关。 Max、Min:用于设置滑块的最大、最小值 Position:用于设置滑块的当前位置 SelStart:用于设置拖动滑块的范围起点 SelEnd:用于设置拖动滑块的终点 例:通过拖动滑块来改变数值,滚动条ScrollBar组件,滚动条ScrollBar组件位于组件面板的Standard标签页。它用于控制窗口、页面和其他组件的滚动显示,用户可以通过OnScroll事件来实现对滚动条的操作。 LargeChange:用于设置单击滚动条内滚动块两边的一个
36、位置,移动的长度。 Max、Min:用于设置滚动条上的滚动范围 Position:用于设置或读取滚动块当前位置 SmallChange:用于设置单击滚动条两端的箭头时移动的长度 Kind:用于设置滚动条的方向sbHorizontal表示水平方向,sbVertical表示垂直方向,3.10 设计各种图表,Chart组件 View 3D属性 AllowZoom属性,3.11 事件句柄工具,ActionList组件 标准事件列表 组件 Standard ApplicationEvents 应用程序级事件组件Additional OnActivate事件句柄 在应用程序获得用户操作焦点时被触发 OnD
37、eactivate事件句柄 在应用程序失去用户操作焦点时被触发 OnShowHint在应用程序需要显示提示窗口时被触发,动画播放器Animate,Animate Win32动画播放器,Animate,它是用来播放简单动画文件的。在Windows操作系统中,简单动画文件都是以.avi 作为扩展名的,所以,也可以认为动画播放器就是用来播放AVI文件的。 Active属性设为 True CommonAVI属性 复制文件删除文件 清空回收站 查找计算机 查找文件 搜索文件夹列表等标准动画,OleContainer System所谓OLE,就是应用程序之间交换数据和相互操纵的一种方式。在Delphi中,
38、可以通过OleContainer组件将其他类型的对象链接或嵌入到窗体中。 Splitter组件 Additional WebBrowser Internet,3.9 DriveComboBox、DirectoryListBox、FileListBox等组件,DriveComboBox组件也称为驱动器列表框组件,位于组件面板的Win3.1标签页。它用于显示当前计算机中全部有效的驱动器,以供用户进行选择和操作。 DirectoryListBox组件也称为目录列表框组件,位于组件面板的Win3.1标签页。它用于显示当前驱动器的树形目录,以供用户进行选择和操作。 FileListBox也称为文件列表框
39、组件,位于组件面板的Win3.1标签页。它用于显示当前路径中符合条件的所有文件列表,以供用户进行选择和操作,用户在选择的过程中可以在同一路径中的不同文件之间进行切换等操作。 FilterComboBox组件位于组件面板的Win3.1标签页。它用于提供从文件列表框中筛选文件的条件。该组件要与其他几种文件组件相互协调才能完成文件的筛选功能。,模板,组件模板 窗体模板,组件模板,用户可以定义1个组件模板,上面包含1个或多个组件。首先将组件添加到数据模板或窗体,设置它们的特性,创建事件处理程序,并编写代码。然后选定1个或者多个组件,从Component菜单选择Create Component Temp
40、late菜单项。 要删除已创建的组件模板,只需选择Component菜单中的Configure Palette命令,在随即弹出的“Palette Properties”对话框中,选中要删除的模板单击“Delete”按钮即可。,窗体模板,窗体模板是保存并添加到存储库的窗体。将窗体存储成模板的步骤如下: ()在已设计好的窗体上单击鼠标右键,打开窗体的快捷菜单。 ()选择快捷菜单中的Add to repository命令,弹出对话框。 ()填写Add to repository对话框,需要为模板窗体提供标题和描述,并选择要加入的属性页,输入作者信息和图标。 ()单击“”按钮。如果尚未保存文件,在添加
41、到存储库之前Delphi将提示保存文件。,使用模板 File|New|Other 当使用模板创建窗体时,有种选择:Copy,Inherit或use三者之一。默认情况下,将选择Copy,此时可以得到窗体的完整副本,但不会维护模板窗体与新窗体之间的进一步关系。如果选择use,那么实际上将修改存储库中的窗体模板,即任何改变都会反映到窗体在存储库中的版本。如果选择Inherit,将继承模板窗体,这里的继承指的是面向对象的意义。对窗体在存储库中版本的改变将反映到子窗体。,安装新组件(第三方组件),在编写应用程序时,组件板上的现有组件往往不能满足特殊要求。这时,就需要自己设计个合适的组件,使之满足程序设计
42、的特殊需要,这种组件称为第三方组件。,包中可以包含个或多个组件,供应用程序共享。安装包的操作步骤如下: ()选择主菜单的Component|Install Component菜单项。 ()在Install Component对话框中,单击Into new package属性页。 ()输入要安装组件的路径和文件名,或使用Browse按钮来定位相应的单元。 ()输入新的.dpk文件的路径和名字(未编译的包文件)。 ()输入包的描述 ()单击“”按钮。 ()Delphi将提示编译并安装包,单击“yes”按钮将新的包添加到组件面版。,3.2 实战演练,3.2.1 组件应用实例一:一个简单文本操作程序 能够进行新建、打开、保存操作 能够进行文本的输入和编辑操作 能够设置文本的字体和样式 能够进行输入法的选择 3.2.2 组件应用实例二:一个简单计算器程序,3.3 学以致用,制作动态字幕 利用Hint分行显示 怎样读出Memo组件的当前行行号 计算器改进,