delphi完美经典--第十一、十二章

来源:互联网 发布:淘宝运营直播 编辑:程序博客网 时间:2024/04/28 20:13

第11章 TApplication与TScreen类介绍及应用

一、TApplication类

         用于开发窗口程序的类。此类封装了一个窗口应用程序,其方法和属性反映了窗口操作系统在建立、执行、维持以及析构该程序等方面的基本原则。

         Delphi的每个窗口程序都会自动声明一个Application对象,此变量属于Tapplication类。

TApplication类对象常用属性:

ExeName:只读,EXE文件路径名。

Title:读写。标题,即运行时应用程序图标后的文字。除了直接设置此属性外,还可通过另一种方式更改:Project->Options->Application。

Icon:读写。只有该项目内没有设置Icon属性值的窗体,它们标题栏的图标,都会以代表应用程序的图标作为它们的图标。更改也有两种方式,同Title。

MainForm:指定该程序的哪个窗口为项目的主窗口。

TApplication类对象常用方法:

CreateForm:在程序中建立一个新的窗体。当程序有多个窗体时,可将程序中默认建立窗体的代码删除,等需要时才以动态方式建立它们的实体。除可节省空间外,当程序窗体繁多时,还可节省程序的启动时间。

MessageBox:此方法属于Application。而MessageDlg和ShowMessage是全局的方法。

Run:执行此应用程序。Run方法包含了应用程序的主消息循环,因此能让程序执行,并使它的窗口在执行中能持续显示画面,直到程序主消息循环终止。注意:此方法在Unit中无用,仅在Application中才起作用。

Terminate:终止程序执行。此方法会调用Windows API函数PostQuitMessage,依序终止程序。当系统收到程序的WM_QUIT消息,或程序主窗体关闭时,会自动调用Terminate。

二、TScreen类

代表该程序在执行整个时整个屏幕的状态。此类的属性记录了下列相关的内容:

Ø  此程序举用了何种窗体或数据模块。

Ø  什么是作用中的窗体,及该窗体内作用中的控制组件。

Ø  该屏幕大小及分辨率。

Ø  该程序使用的光标和文字。

Delphi项目中,有一个默认的全局变量:Screen。

TScreen的属性

ActiveControl:指出屏幕上哪个控制组件现在拥有输入焦点。只能通过作用中窗体的SetFocusedControl来更改。ActiveControl值改变时,会触发OnActiveControlChange事件。

Fonts:屏幕能支持的所有字体。TStrings类型。通过此属性,可知道当前Windows安装了哪些字体。最好不要使用未安装的字体。

第12章 高级组件介绍

这些高级组件可能是标准组件的加强版,也可能是与标准组件不相干的全新组件。因高级组件数量太多,仅介绍Additional、Win32、System、Dialogs中最常用的组件。

一、Additional选项卡中的常用组件

1、TBitBtn

继承自TButton,具有和Tbutton几乎相同的属性、方法与事件,但它拥有图形化按钮表面的特殊功能。允许程序员自己建立图形,也可使用内建的标准图形。

Glyph:几乎是TBitBtn最重要的属性,用来指定TBitBtn对象显示于按钮表明的图形。此属性属于TBitmap类。Glyph属性按钮图形需注意:

1)图形必须是BMP格式。

2)加载的图形配合NumGlyphs属性,可用来指定按钮不同状态显示的图形,NumGlyphs最大为3,此时,加载的图形均分为左中右三等分,左图表示按钮一般状态时显示的图形,中图为Enabled为False时显示的图形,右图则为按钮按下时显示的图形。

3)加载的图形左下角的像素,同时表示此图形的透明颜色。即按钮图形中,任何与此图形左下角像素颜色相同者,会被设为按钮底色,产生透明效果。

NumGlyphs:当设置Glyph属性时,NumGlyphs用来表示该图形包含集中按钮状态。允许值为1~4。4表示按钮按下且固定住的图形,TBitButton无此行为。

Kind:设置按钮类型,是个枚举类型的值。

Layout:设置图片与文字的相对位置,是个枚举类型的值。

Margin:设置图形(含文字)与按钮边界的距离。

Spacing:表示按钮图形与文字间的距离。

Style:决定按钮外观。

2、TMaskEdit组件

继承自TCustomEdit,具有和TEdit几乎一样的属性和方法,但它加入了格式化文字的功能,这几乎是使用它的唯一理由。

EditMask:设置TmaskEdit组件显示文字的格式化规则。格式化字符串由三个字段组成,并以分号分隔。如“!\(99\)0000-0000;1;_”:第一部分“!\(99\)0000-0000”为主体,其意义如下表,第二部分指定是否保存非用户输入的字符(1保存,0不保存),第三部分设置尚未输入字符的位置的显示状态。


要清除格式条件,只需将EditMask设为空字符串即可。

EditText:设置或取得MaskEdit组件显示的文字。要设置EditText,其字符串必须包含未输入字符的位置的显示状态(默认为‘_’),否则其格式化功能运行不正常。

Text:同EditText。但设置时,不需加未输入字符的位置的显示状态。

GetTextLength:取得Text属性的字符串长度。

IsMasked:是否设置MaskEdit属性。即MaskEdit属性是否为空。

3、TImage控件

常用它来存放图形或显示图形于窗体上。其支持的格式包括BMP、ICO、JPEG、WMF、EMF等。

AutoSize:Image组件是否自动缩放为加载的图形大小。

Stretch:加载的图片是否会自动缩放为Image组件的大小。

Canvas:对TImages而言,此属性是只读的。

Center:图片是否置中。

IncrementalDisplay:指明图形文件是否使用渐进方式显示。

Picture:设置或取得Image组件显示的图形对象。设置方式或在设计时直接指定此属性,或在运行时指定此属性或者通过LoadFormFile、LoadFromClipboard、Format、SaveToFile、SaveToClipboard实现。将此属性设为nil即可清除显示图片。

Proportional:指明图形文字是否以等比例方式显示。

Transparent:通过颜色来设置Picture属性所包含的图片的透明颜色。其设置方式与TBitBtn的Glyph属性相同(依左下角像素为基准)。需注意,仅对BMP图片有效。

4、TShape组件

用来显示矩形、正方形、圆形、椭圆等基本几何图形,因不接受用户输入,所有比较节省资源。

Brush:用来设置TShape组件的内容。属于TBrush类。设计时可设置其子属性:color和style;运行时可设置其Bitmap属性。

Pen:用来设置TShape组件的框线。

Shape:设置TShape的显示外观。

二、Win32选项卡常用组件

1、TPageControl组件

常用属性:

ActivePage:设置或取得作用中的TabSheet组件。

ActivePageIndex:设置或取得作用中的TabSheet组件的索引值,当不存在选项卡时,此值为-1。

HotTrack:鼠标指到选项卡时,选项卡文字是否高亮显示。

Images:指定选项卡显示的小图标来源TImageList,选项卡图标与来源TImageList对象间的对应关系,通过各选项卡的TabSheet的ImageIndex指定。

MultiLine:选项卡是否以多列显示。

PageCount:只读。取得选项卡数(即TabSheet总数)。

Pages:只读。取得PageControl包含的TabSheet集合。通过Pages可直接操作指定的TabSheet。

RaggedRight:一般用默认值False。选项卡右边空白是否不填满。

ScrollOpposite:一般用默认值False。当有多个选项卡时,选择的选项卡及其右侧所有选项卡是否自动占满到PageControl的另一端。

Style:设置选项卡外观。

TabPosition:选项卡相对于PageControl的位置,此属性仅在Style设为tsTabs时有效。

TabHeight、TabWidth:设置选项卡高度、宽度。

常用方法:

FindNextPage:由指定的TabSheet(CurPage参数),依照指定方向(GoForward参数;往前为True)并指定是否检查选项卡的Visible(CheckTabVisible),返回CurPage的下一个TabSheet。当CurPage不存在时,则根据GoForward为True或False,分别返回第一个或最好一个TabSheet。

SelectNextPage:将选项卡定位到下一个TabSheet(依GoForward决定向前还是向后)。

常用事件:

OnDrawTab:当选项卡重绘时,触发这个事件。

OnGetImageIndex:当选项卡正准备显示其对象的选项卡图标时触发。当时间一开始触发时,其TabIndex与ImageIndex参数值相同,可通过变更ImageIndex改变该选项卡的图标。

2、TImageList组件

用来有效管理大量的ICO或BMP图片。通常通过索引值,提供其他组件图标。虽然她也拥有运行时的一些属性,方法设置,但通常将其视为一个静态的图标数组来源。


TransparentColor:仅用于BMP图片(因ICO本身已是屏蔽过的图片)。透明色仍为左下角的像素颜色,但可自行由图中点选透明颜色。

Fill Color:当指定图片较小时,可指定填满颜色。

Options:选项设置中的Cop表示加载的图片以左上角为基准,Center表示已图片中心为基准,Stretch则是将图延伸到跟图标大小一样的大小。

可直接拖拽图形来重新排列。

3、TRichEdit控件

继承自TMemo,具有标准的格式化文字能力,用来提供类似Word的格式化文件。即支持RichText的格式化(RTF)、打印、搜索、文字拖拽等功能。

使用此组件时,必须自行建立用户操作界面,即所有字体变化、缩进等行为,都必须通过程序自行建立操作接口并编写对应的程序代码。

DefAttributes:运行时自定义TRichEdit组件的默认字体。

HideScrollBar:当不需要滚动条时,是否隐藏滚动条。

HideSelection:当失去焦点时,是否隐藏TRichEdit中选择的文字。

PageRect:指定打印内容大小。

Paragraph:设置段落。

         SelAttributes:类似DefAttributes,仅作用于选取的文字,或指定位置。

         PlainText:指定读写文件时,是否将RichEdit的文字视为纯文本。

FindText方法:查找文字。

Print方法:打印RichEdit的格式化文字,参数Caption为打印文件的标题。

4、TDateTimePicker组件

是可视化的日期、时间组件,其显示格式由系统设置决定。

常用属性:

CalAlignment:决定显示日期时,显示的下拉日历组件相对于日期组件的位置。

Checked:当ShowCheckBox设为True时,显示的检查栏是否被选择。

DateFormat:设置日期格式。dfShort:简短日期。dfLong:完整日期。

DateMode:设置日期组件右方显示的外观。其值为dmComboBox(下拉箭头)或dmUpDown x(上下箭头)。当Kind设置为dtKTime,则此属性失效。

DroppedDown:只读。用来判断日期组件是否处于下拉状态。

Format:格式化TDateTimePicker组件日期显示格式。Format格式字符如下:

Ø  d、dd、ddd、dddd:顺序显示一位日期、两位日期、简短星期、完整星期。

Ø  H、HH、h、hh、m、mm、s、ss:依序为时分秒。对小于10的数,一位数时,第一位保留空白,两位数时前置0。H与h区别:前者24小时,后者12小时。

Ø  M、MM、MMM、MMMM:依序为一位月份、二位月份、简短月份、完整月份。

Ø  t、tt:显示am/pm。t显示格式为“a/p”,tt显示格式为“am/pm”。

Kind:设置TDateTimePicker组件显示日期(dkDate)或时间(dkTime)。

ShowCheckbox:是否显示检查栏。为True时,Checkbox必须被选择,才能接受输入。

常用事件:

OnCloseUp和OnDropDown:下拉日历关闭时时触发,TDateTimePicker组件显示时触发。

5、TStatusBar

由一些Panel组件(TStatusPanel)组成,且通常位于程序下方。

AutoHint:为True时,Hint属性的文字会被显示到第一个Panel中。

Panels:存放管理TStatusPanel的集合。设计时通过Panels可新增、删除Panel,或改变显示文字、Panel宽度、浮凸效果(Bevel属性)。运行时则通过Items属性的Add、AddItem、Insert等方法管理Panels。

SimplePanel:指定TStatusBar是否仅有单一Panel,当设置为True时,Panels失效。

SimpleText:用来显示SimplePanel为True时,状态栏的文字。

SizeGrip:状态栏右下方是否显示三角形斜纹。若TStatusBar右边的Panel设置为靠右对齐,文字会被此斜纹裁掉。

UseSystemFont:是否使用系统默认字体。设为False时,Font中设置的字体才有效。

FlipChildren:将TStatusBar中的Panels顺序反转。

三、System选项卡常用组件

1、TTimer组件

Enabled:用来控制组件是否每隔Interval所指定的时间,触发OnTimer事件。

Interval:触发OnTimer事件的时间间隔。

OnTimer事件。

四、Dialogs选项卡常用组件

1、TOpenDialog组件:用来显示“选择文件”对话框。

DefaultExt:默认扩展名用于保存文件对话框,但其扩展名字符串不允许超过3个字符,且字符串中不得含有‘.’。

FileName:用来存放包含路径的文件名称字符串。

Files:只读。用来存放TOpenDialog选取的所有文件名称(当Options设置为允许多重选择时,Files包含多个文件名字符串)。

Filter:打开文件时的“文件类型”设置。格式为“类型描述|*.扩展名”,其中类型描述可省略。多中文件类型时,如:OpenDialog1.Filter :='文本文件(*.txt)|*.txt|avi文件(*.avi)|*.avi'; 此种方式是要么txt要么avi。OpenDialog1.Filter := 'bmp(*.bmp),txt(*.txt)|*.bmp;*.txt';此种方式是bmp和txt同时起作用。

FilterIndex:指定打开文件对话框中的默认文件类型,其值起始于1。如上述设置的txt和avi格式时,默认为txt,可设置此值为2,则默认显示avi。

InitialDir:指定默认路径,当默认路径不存在时,会以系统默认路径取代。

Options:设置了打开、保存文件的对话框共享选项设置,其常用设置值如下:

Ø  ofAllowMultiSelect:允许多重选择文件。

Ø  ofCreatePrompt:文件不存在时,是否提示建立新文件。

Ø  ofOverridePrompt:文件存在时,是否提示覆盖,用于保存文件对话框。

OptionsEx:只包含ofExNoPlaceBar选项,当ofExNoPlaceBar为False时,TOpenDialog包含下图中红色圈出的区域;否则,不包含。


Execute方法:调用对话框,通过返回值来确定是否按下“确定”按钮。

2、TFontDialog组件

用来显示“设置字体”对话框,也是通过Execute来打开对话框。

         Device:可用字体设置。默认为fdScreen(屏幕字体),其他可能值包括fdPrinter(打印机)、fdBoth(两者)。

Font:设置、取得字体。

Option属性:常用设置:fdApplyButton:是否包含“应用”按钮。

3、TColorDialog组件

用来显示“颜色”对话框,也是通过Execute来打开对话框。

Color:设置、获取颜色值。

Options:常用设置:cdFullOpen:对话框是否完全打开。cdPreventFullOpen:“规定自定义颜色”按钮是否为disabled。


原创粉丝点击