delphi控件属性大全Word文档格式.docx

上传人:b****3 文档编号:17612263 上传时间:2022-12-07 格式:DOCX 页数:18 大小:28.95KB
下载 相关 举报
delphi控件属性大全Word文档格式.docx_第1页
第1页 / 共18页
delphi控件属性大全Word文档格式.docx_第2页
第2页 / 共18页
delphi控件属性大全Word文档格式.docx_第3页
第3页 / 共18页
delphi控件属性大全Word文档格式.docx_第4页
第4页 / 共18页
delphi控件属性大全Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

delphi控件属性大全Word文档格式.docx

《delphi控件属性大全Word文档格式.docx》由会员分享,可在线阅读,更多相关《delphi控件属性大全Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

delphi控件属性大全Word文档格式.docx

State 

设置当前复选框的状态。

文本类组件

label组件

Alignment用来设置标签中的文本在水平方向的排列方式!

AUTOSIZE用来设置标签的尺寸大小,是否随CAPTION属性中文字的字体大小而进行自动调节!

Font用来设置显示文字的字体,颜色!

Layout用于设置标签中的文本在垂直方向的排列方式!

WORDWRAP用于设置是否自动换行!

EDIT组件

Charcase用于设置组件中文字的大小写显示方式!

TEXT 

用于显示编辑框中的文字内容

Modified用来判断edit组件里的文字内容是否被修改过,若为假,就是没有被修改过!

Passwordchar设置显示密码字符!

memo组件

lines用于访问框中每一行的内容

Maxlength设置文本框中最大的文字输入量

Scrollbar 

设置是否需要滚动条

Wantretruns用于设置在框中按’enter’键是否起回车作用

Wanttabs 

用于设置在框中按’tab’键是否起移位作用。

Maskedit组件

Editmask属性用于设置所要显示文字的格式。

Labeledit组件

Editlabel用于对labeledit组件的标签部分进行设置!

Labelposition用于设置标签放置的位置

Labelspaceing用于调整标签和编辑区之间的间距,单位是象素

组合框组件

combobox组件

dropdowncount用于设置下拉后的列表框所有显示的列表项的数目!

Style用于设置组合框显示时的样式,有以下五种样式

1.csdropdown:

标准格式,用户可以在编辑框中输入,每个列表项的高度相同

2.csdropdownlist:

只有列表框,没有编辑框,每个列表项的高度相等

3.csownerdrawfixed:

有编辑框和列表框,但用户不能在编辑框中输入,每个列表项的高度由itemheight属性来指定

4.csownerdrawvariable:

有编辑框和列表框,但用户不能在编辑框中输入,每个列表项的高度可以不同

5.cssimple:

只有编辑框,没有列表框

droppeddown表示列表框是否已被下拉!

Timer

Enabled表示记时器是打开还是关闭

Interval设置两个ontimer事件的时间间隔,单位是毫秒,最大值允许是:

32767

添加代码:

form1.Label1.Caption:

='

今天是'

+formatdatetime('

yyyy-mm-dd'

now);

// 

form1.Label2.Caption:

现在是'

hh:

mm:

ss'

now获取单前系统时钟!

使用对话框(消息框)函数与对话框过程

对于一些简单信息的输入和输出,可以使用对话框.DELPHI提供的内部对话框有两种:

1.信息对话框使用过程SHOWMESAGE,SHOWMESSAGEFMT,函数MESSAGEDLG.MESSAGEDLGPOS,CREATEMESSAGEDIALG.

2.输入对话框使用函数INPUTBOX,INPUTQUERY.

1).SHOWMESSAGE与SHOWMESSAGEFMT过程

SHOWMESSAGE过程显示一个最简单的对话框,其语法格式为:

SHOWMESSAGE(信息内容);

说明:

SHOWMESSAGE过程显示的对话框以应用程序的执行文件名作为标题,对话框只含有一个OK按钮,单击该按钮对话框即关闭并返回.

SHOWMESSAGEFMT过程

语法格式为:

showmessagefmt(信息内容,参数组);

此过程与上一个过程其本相同,只是参数多了格式化的字符.

例:

showmessagefmt(‘%s已进球%d个!

’,[‘公牛队’,11]);

2)MESSAGEDLG与MESSAGEDLGPOS函数

这两个函数可以显示一个信息对话框,并等待用户的响应.

MESSAGEDLG函数

变量名:

=MESSAGEDLG(信息内容,类型,按钮组,HELPCTX);

信息内容是显示在对话框中的信息.

类型是对话框的类型,其取值有:

mtwarning含有感叹号的警告对话框.

Mterror含有红色叉符号的错误对话框.

Mtinfomation含有蓝色I符号的信息对话框.

Mtconfirmation含有绿色?

号的确认对话框

Mtcustiom不含图标的一般对话框,对话框的标题是程序的名称.

按钮组指定对话框中出现的按钮组,其中出现的按钮与参数有:

MBYES 

YES按钮,函数返回值为:

6

MBNO 

NO按钮,函数返回值为:

7

MBOK 

OK按钮,函数返回值为:

1

MBCANCEL 

CANCEL按钮,函数返回值为:

2

MBHELP 

HELP按钮.

MBABORT 

ABORT按钮,函数返回值为:

3

MBRETRY 

RETRY按钮,函数返回值为:

4

MBIGNORE 

IGNORE按钮,函数返回值为:

5

MBALL 

ALL按钮,函数返回值为:

8

MBNOTOALL 

NOTOALL按钮,函数返回值为:

9

MBYESTOALLYESTOALL按钮,函数返回值为:

10

按钮组可以组成某种形式,如[MBYES,MBNO]表示对话框中出现两个按钮:

”YES”和”NO”;

也可以常量形式如,MBOKCANCEL表示对话框中出现两个按钮:

”OK”和”CANCEL”

密码框.

procedureTForm1.Button1Click(Sender:

TObject);

var

x:

integer;

begin

ifedit1.text='

123'

then

showmessage('

密码正确,欢迎进入!

'

else

begin

x:

=messagedlg('

密码错误,请重新输入!

mterror,[mbyes,mbno],0);

ifx=6then

edit1.text:

;

edit1.SetFocus;

end

else

close;

end;

end;

3.MESSAGEDLGPOS函数

调用MESSAGEDLGPOS函数,可以屏幕的指定位置显示信息对话框,其语法格式为:

变量=MESSAGEDLGPOS(信息内容,类型,按钮组,,HELPCTX,X,Y);

它比MESSAGEDLG只是多了一项功能,即具有X,Y显示位置坐标.

4.INPUTBOX与INPUTQUERY函数

1)INPUTBOX的作用为显示一个输入对话框.

格式为:

变量:

=INPUTBOX(对话框信息,信息内容,默认内容);

对话框信息为指定对话框的标题.

信息内容为指定在对话框上出现的文本.

默认内容为在出现对话框时自动出现的输入内容.

2)INPUTQUERY函数

与INPUTBOX相似出现一个输入框.只是对CANCEL按钮(退出事件)另作处理,将返回一个布尔值.

变量=INPUTQUERY(对话框标题,信息内容,字符串变量);

在出现对话框时如果单击OK输入框中的值将赋值到变量中,并且函数返回TRUE;

若用户单击CANCEL按钮,变量值不变并返回FALSE;

可以根据返回值的不同作出判断.

=strtoint(inputbox('

求和'

'

请输入求和值'

0'

));

ifx=strtoint(edit1.Text)+strtoint(edit2.Text)then

edit3.Text:

正确'

错误'

分组控件GROUPBOX.

也可称之为框架.

一般来说此框架的作用是用于对某一组界面的分类,没有实质作用.

例如:

面板PANEL

此面板的功能作相似与GROUPBOX。

它有多种三维效果.

主要属性有:

BEVELINNER:

图形面板内层边框斜面的类型.

BEVELOUTER:

图形面板外层边框斜面的类型

Bevelwidth:

斜面的宽度.

BORDERWIDTH:

内层与外层边框之间的宽度.

摘自:

Delphiwww大全

译者:

Delphi提供了开放的API,是程序员可以增强DelphiIDE的功能。

共有4种开放工具的APIs:

属性编辑器、控件编辑器、专家/导航和版本控制系统。

本文讨论属性编辑器和控件编辑器,给出的例子说明如何写自己的Delphi属性、控件编辑器。

属性编辑器

属性编辑器是DelphiIDE的扩展。

这听起来非常复杂和困难,但是实际上是很简单的。

我们可以为枚举类型构造一个属性编辑器。

记得TForm的颜色属性吗?

当我们想改变它的值,看到了下拉框中列出了所有的可选值。

那就是枚举类型的属性编辑器,我们也同样能做到,只需要几行代码,没什么特别的。

注意到程序员并没有写一个属性编辑器,而是通知Delphi使用枚举类型的属性编辑器,为它的枚举特别定义的。

现有的属性编辑器

在我们搞清楚属性编辑器到底内部是什么之前,先看看Delphi中已有的。

开始一个新工程,在implementation中加入"

usesDsgnIntf;

"

编译,打开browser查找TPropertyEditor(只要输入TPrope):

如果没算错的话,在DSGNINTF中注册了至少21个客户属性编辑器(custompropertyeditors),注意:

事实上,还有更多的属性编辑器在其他单元中,例如C:

\DELPHI\LIB\PICEDIT.DCU.中的TPictureEditor。

TPropertyEditor

对象察看器为所有的属性提供缺省的编辑。

我们可以使用不同的方法重载这种行为,来使用特别的属性编辑器(21种预制的属性编辑器都扩充了对象察看器来处理其属性)。

那么,究竟是怎样工作的呢?

它是起源一个基类,我们必需重载已达到我们的目的。

五个新的Delphi2.0的方法-其中三个是变量相关的-在编译开关{$IFDEFWIN32}中一保证一下代码在所有的delphi版本中适用。

Type 

TPropertyEditor=class 

protected 

functionGetPropInfo:

PPropInfo;

functionGetFloatValue:

Extended;

functionGetFloatValueAt(Index:

Integer):

functionGetMethodValue:

TMethod;

functionGetMethodValueAt(Index:

functionGetOrdValue:

Longint;

functionGetOrdValueAt(Index:

functionGetStrValue:

string;

functionGetStrValueAt(Index:

{$IFDEFWIN32} 

functionGetVarValue:

variant;

functionGetVarValueAt(Index:

{$ENDIF} 

procedureModified;

procedureSetFloatValue(Value:

Extended);

procedureSetMethodValue(constValue:

TMethod);

procedureSetOrdValue(Value:

Longint);

procedureSetStrValue(constValue:

string);

procedureSetVarValue(constValue:

variant);

public 

destructorDestroy;

override;

procedureActivate;

virtual;

functionAllEqual:

Boolean;

procedureEdit;

functionGetAttributes:

TPropertyAttributes;

functionGetComponent(Index:

TComponent;

functionGetEditLimit:

Integer;

functionGetName:

procedureGetProperties(Proc:

TGetPropEditProc);

functionGetPropType:

PTypeInfo;

functionGetValue:

procedureGetValues(Proc:

TGetStrProc);

procedureInitialize;

procedureRevert;

procedureSetValue(constValue:

procedureValueAvailable:

propertyDesigner:

TFormDesignerreadFDesigner;

propertyPrivateDirectory:

stringreadGetPrivateDirectory;

propertyPropCount:

IntegerreadFPropCount;

propertyValue:

stringreadGetValuewriteSetValue;

TPropertyEditor编辑对象察看器中一个或是一串控件的一个属性。

属性编辑器根据属性的类型而被创建,由RegisterPropertyEditor注册的类型决定。

稍候有一个指示程序员如何使用这些工程的例子。

所有的published属性都将出现在对象察看器中,当设计者进行读写属性的值时,其属性编辑器(为这种属性类型的)将被使用。

在以下的时间里,我们将只注意方法中的需要被重载的重要部分,属性编辑器的行为。

GetAttributes

这是最重要的方法,他决定了属性编辑器的类型和行为。

有三种属性编辑器(除了缺省的编辑框):

下拉框(我们在前面提到过的),分属性列表和对话框。

GetAttributes返回TPropertyAttributes类型,包含了一下内容:

paValueList:

属性编辑器能返回属性的枚举列表。

如果GetValues调用过程附带值,这个属性必需设置。

这将使在对象察看其中的属性的右边出现下拉按钮。

paSubProperties:

属性编辑器有子属性时,将在当前属性下方显示成标准的大纲格式。

如果GetProperties产生属性对象时这个属性必需设置。

paDialog:

表示这个编辑方法将产生对话框。

这将在对象察看其中的属性右边出现'

...'

按钮。

paSortList:

对象察看器将把GetValues返回的列表按照字母排序。

paAutoUpdate:

每当编辑发生改变是调用SetValue方法,而不是改变别提交时。

例如Caption属性。

paMultiSelect:

允许多个控件被选择时显示属性的值。

有些属性不适合多选的情况。

例如Name属性。

paReadOnly:

属性值不允许改变。

GetValue:

返回属性的串值,缺省时返回'

(unknown)'

,这应该被重载以返回适当的值。

GetValues:

当GetAttributes返回paValueList时被调用。

它必须为每一个属性所接受的值调用参数函数。

TEnumProperty将在列举中传递所有的参数。

SetValue(Value):

设置属性的值。

属性编辑器必须能够知道调用哪一个SetXxxValue函数。

如果字符串不是合适的格式或不是合法的值,属性编辑器应该产生一个例外,描述产生的问题。

SetValue可以忽略所有的改变,允许通过Edit方法编辑所有的属性。

例如Picture属性。

Edit

当'

按钮被安下或是属性被连击识别调用。

这样,例如弹出一个对话框,通过更有效的方法,而不是简单的文本来编辑属性。

例如Font属性。

TFileNameProperty

使用这几个重要的方法我们就能写出自己的属性编辑器了:

为filename建立一个大卡文件对话框属性编辑器。

我们得记住编写控件从本质来说是非可视化的任务,写书信编辑器并不复杂。

我们需要制定一个我们说想要的'

Dialog'

类型,所以我们在GetAttributes中返回[paDialog]。

然后,我们在Edit过程中处理,这次包含一个TOpenDialog来找到任何存在的文件。

unitFileName;

interface 

uses 

SysUtils,DsgnIntf;

Type 

TFileNameProperty=class(TStringProperty) 

procedureRegister;

implementation 

Dialogs,Forms;

functionTFileNameProperty.GetAttributes:

begin 

Result:

=[paDialog] 

end{GetAttributes};

procedureTFileNameProperty.Edit;

withTOpenDialog.Create(Application)do 

try 

Title:

=GetName;

{nameofpropertyasOpenDialogcaption} 

Filename:

=GetValue;

Filter:

='

AllFiles(*.*)|*.*'

HelpContext:

=0;

Options:

=Options+[ofShowHelp,ofPathMustExist,ofFileMustExist];

ifExecutethenSetValue(Filename);

finally 

Free 

end 

end{Edit};

RegisterPropertyEditor(TypeInfo(TFileName),nil,'

TFileNameProperty) 

end. 

注意到我们调用属性编辑器的GetName函数来得到属性的名字。

属性编辑器需要注册过程(register)在delphi中来注册它本身(确切的说是在delphi应用程序中)。

我们可以只为一个控件注册属性编辑器,也可以我所有的相同类型的属性注册。

例如上面的例子TFileNameProperty就是为所有的控件做的。

当然,属性编辑器必需安装了并且首先注册。

为了在Register过程中注册,我们需要调用RegisterPropertyEditor。

它有4个参数:

第一个是属性类型的类型信息的指针。

这里,我们使用内置的函数TypeInfo。

第二个是这个编辑器应用的控件类型,如果为nil,这个编辑器为所有控件的所有给定的类型的属性。

这里,我们希望属性编辑器为所有的控件的TFileName类型工作。

所以只需要把第二个参数置为nil。

第三个参数时属性的名字,这个参数只有在第二个参数指定了控件的类型的情况下才有作用。

同样,我们把它置为空字符串。

第四个参数属性编辑器的自己的类型,这里是TFileNameProperty。

安装属性编辑器和安装控件类似。

这里,属性编辑器有自己的注册过程(不失为某个控件的属性编辑器,而是某个属性的)。

一般来说,如果一个属性编辑器是为特别控件的特别属性,最好和控件一起注册。

现在,我们只要把带有TFileNameProperty的单元FILENAME加到控件版中(delphi1:

使用Options|InstallComponents,Delphi2中使用Component|Install

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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