尽管C++Builder的组件种类繁多,每种组件又都有许多不同的属性,但是在这些众多的属性中有相当一部分是大多数组件所共有的。因此我们应当主要掌握这些共有组件。
在设计时设置属性一般是通过属性窗口来进行的。在属性窗口设置组件属性的操作步骤如下: 1) 打开相应对象的属性窗口。 2) 从属性列表中选定属性名称。 3) 在属性窗口的右列输入或选择新的属性值。注意:有些属性在设置值右侧有…按钮,单击该按钮会出现相应的设置对话框,设置值需要在对话框中选定。
在代码中设置组件属性的方法是:对象名称->属性名称 = 设置值;
下面我们来介绍一些主要组件的主要属性。
窗体form的属性:
1.Caption:标题。
是窗体和各种可视化控件的共有属性,用来指定窗体标题栏中的说明文字,默认与控件名相同,但程序员可以在对象监视器和代码中修改。在代码中修改的格式为:Form->Caption = “da”;// da表示程序员输入的标题。
通常,对于Windows系统中的多文档界面( MDI )应用程序,当主框架窗口中的子窗口以最大化显示的时候,应用程序的标题栏中显示的内容为“ <应用程序名> – <打开的文档名>”;当子窗口以非最大化窗口显示的时候,主框架窗口中只显示应用程序的名称,子窗口有自己的标题栏,其中显示该窗口打开的文件名。所以,当窗体的显示方式发生了改变后,应该立即改变标题栏中的内容。
2.Name:变量名。
是窗体和所有控件的共有属性,系统给予其默认名字,但程序员可以在对象监视器修改,不要在代码中修改。 通常,应该在系统开发的设计阶段就将整个工程中所有窗体的名称确定,然后在编程阶段,根据设计文档修改窗体的Name属性。一般情况下,不要在程序运行期间通过代码修改Name属性。
3.Enabled:可操作性。
决定了对象在运行时是否允许用户进行操作。它是逻辑型:true表示允许用户操作并可对其操作作出响应;false表示禁止用户操作,此时对象呈灰色。
程序员可以在对象监视器和代码中修改属性Enabled。在代码中修改的格式为:Form-> Enabled = da;// da可以是true或false。
4.Visible:可见性。
决定了对象在运行时是否可见。 它也是逻辑型:true表示可见;false表示不可见,但它不会影响其在设计时的可见性。
程序员可以在对象监视器和代码中修改属性Visible。在代码中修改的格式为:Form-> Visible = da;// da可以是true或false。
5.Height,Width,Top和Left:大小与位置。
分别给出了组件的大小与位置。其中Height和Width指出了组件的高度与宽度,Top与Left指出了组件在窗体上的位置,Top设置上边界,left设置左边界。这些属性一般不需要进行精确设置,在实际设计时只要使用鼠标直接对组件操作即可以达到要求。
程序员可以在对象监视器和代码中修改上述属性。在代码中修改的格式为:对象名称->属性名称 = 设置值;
6.Font:字体。
用来设置窗体或组件中文字的字体、颜色和字号等。如果将窗体中组件的属性ParentFont设置为True,那么该组件的字体设置就与其父级窗体的字体设置完全一样了。
所以在程序设计的时候,为了保持整个系统风格的统一,应该将工程中的窗体风格尽量一致,可以先设置窗体的Font属性,然后将窗体中所有组件的ParentFont设置为True就可以了。一般不要单个地对窗体中的组件进行Font属性的设置。
7.Color:颜色。
用来设置窗体(背景)的颜色。
程序员可以在对象监视器和代码中修改属性Color。在代码中修改的格式为:Form->Color = da;// da可以是系统提供的clRed等常量,也可以是数值。
8.BorderIcons:窗体图标。
用来指定窗体标题栏上的图标,可以设置为下列数值:
• biSystemMenu:可以通过点击标题栏左边的图标或在标题栏上单击鼠标右键来显示控制菜单。控制菜单有时也称为系统菜单。
• biMinimize:在标题栏右边显示最小化按钮。
• biMaximize:在标题栏右边显示最大化按钮。
• biHelp:在标题栏右边显示帮助按钮。只有窗体的BorderSytle属性设置为bsDialog或者窗体属性BorderIcons中不包括biMinimize和biMaximize时,biHelp设置才有效。
下面举例说明属性BorderIcons的用法。在通过菜单File | NewApplication新建的应用程序中,窗体的BorderIcons属性默认设置为:[biSystemMenu , biMinimize , biMaximize ],可以在窗体中增加一个按钮组件,在其默认事件OnClick的处理过程中添加下面的一段代码: void __fastcall TForm1::Button1Click(TObject *Sender) { TBorderIcons tempBI = BorderIcons; tempBI >> biMaximize; //删除集合对象中的最大化按钮 BorderIcons = tempBI; } 程序执行后,如果按下按钮后,则标题栏上的最大化按钮就失效了(变成灰色)。如果要找回最大化按钮,则需要将最大化按钮添加到集合中。增加第二个按钮组件,在其默认事件OnClick的处理过程中添加下面的一段代码: void __fastcall TForm1::Button2Click(TObject *Sender) { TBorderIcons tempBI = BorderIcons; tempBI << biMaximize; //将最大化按钮添加到集合中 BorderIcons = tempBI; } 程序执行后,按下第二个按钮,标题栏上的最大化按钮就恢复了。要删除或添加biSystemMenu或biMinimize属性,也可以采用类似的方法。
补充:(1)operator << (addition) 声明:Set&_fastcall operator <<(const Tel); 说明:添加一个新元素到集合对象中。(2)operator >> (subtraction) 声明:Set&_fastcall operator >>(const Tel); 说明:删除集合对象中的一个元素。
9. BorderStyle:窗体外观。
用来设置窗体的外观和边框,可以指定为下面的数值:
• bsDialog:窗体为标准的对话框,边框大小不可以改变。
• bsSingle:窗体具有单线边框,大小不可以改变。
• bsNone:窗体没有边框,也没有标题栏,边界的大小不可以改变。
• bsSizeable:边框大小可变的标准窗体。
• bsToolWindow:风格同bsSingle,只是标题栏比较小。另外,对于这种风格的窗体,属性BorderIcons中设置的biMinimize和biMaximize并不起作用。
• bsSizeToolWin:风格同bsSizeable,只是标题栏比较小。对于这种风格的窗体,属性BorderIcons中设置的biMinimize和biMaximize并不起作用。
窗体属性BorderIcons的设置与属性BorderStyle的设置可能会互斥,比如属性BorderIcons的biMinimize和biMaximize会与属性BorderStyle的bsDialog冲突,属性BorderIcons的biHelp会与属性BorderStyle的bsSizeable冲突。
程序员可以在对象监视器和代码中修改属性BorderStyle。在代码中修改的格式为:BorderStyle = da; // da表示上述的数值之一。
10.FormStyle:窗体类型。
用来指定窗体的类型。从窗体类型的角度来看,Windows环境中的应用程序可以分为下面的三类:
1) 多文档界面( MDI )应用程序:一般这种应用程序具有一个父级窗口和多个子窗口,可以同时打开多个文档,分别在多个子窗口中显示。比如常用的字处理软件Word等,可以同时编辑多个文档。
2) 单文档界面( SDI )应用程序:这种应用程序同时只能打开一个文档。比如Windows系统附件中自带的“记事本”程序,只能同时编辑一个文本文件。
3) 对话框应用程序:这种应用程序的主界面基于一个对话框类型的窗体。比如Windows系统中自带的“扫雷”游戏程序。此外,有些应用程序在运行期间可以总是显示在桌面的最前端,比如Windows98中的“程序| 附件| 系统工具| 系统监示器”,如果在菜单上选中了“查看(V) | 前端显示( A )”,则系统监示器会一直显示在其他应用程序的窗口之上。
属性FormStyle可以分别实现上面所说的各种类型的应用程序,取值如下:
• fsNormal:普通类型的窗体。既不为MDI应用程序的父级窗口,也不为MDI应用程序的子窗口。
• fsMDIChild:MDI应用程序中的子窗体。
• fsMDIForm:MDI应用程序中的父窗体。
• fsStayOnTop:在桌面最前端显示的窗体。通常不要在程序运行期间改变窗体的类型。
11.Icon:图标。
用来指定标题栏中显示的图标。单击对象观察器Icon属性右边的省略号按钮,在弹出的Picture Editor对话框中点击Load . . .按钮,就可以装入一个制作好的图标。
如果需要动态地改变窗体Form1中的图标,可以调用下面的过程: Form1-> Icon->LoadFromFile(“MyIcon,ICO”); 其中MyIcon,ICO是要在窗体Form1标题栏中显示的图标文件名。
下面举例说明属性Icon的用法。在通过菜单File | NewApplication新建的应用程序中,窗体的Icon属性默认设置为空,可以单击对象观察器Icon属性右边的省略号按钮,在弹出的Picture Editor对话框中点击Load . . .按钮,就可以装入一个制作好的图标(我载入了一个红五星)。然后我们动态地改变窗体Form1中的图标。可以在窗体中增加一个按钮组件,在其默认事件OnClick的处理过程中添加下面的一段代码: void __fastcall TForm1::Button1Click(TObject *Sender) { Form1->Icon->LoadFromFile(“E:\\qt\\图片素材库\\temp\\Heineken.ICO”); } 程序执行后,如果按下按钮后,窗体Form1中的图标变成了一朵绿花。下图是说明属性Icon用法的一个程序截图:左右两个截图分别示点击按钮前后的情况。
12.Position:窗体位置。用来描述窗体的大小和显示的位置。可以是下列数值:
• poDesigned:窗体显示的位置和大小同设计期间的一致。
• poDefault:窗体每次显示时,与上次比较,往右下角移动了一些位置;窗体的高度和宽度由Windows决定。
•poDefaultPosOnly:窗体以设计期间的大小显示;窗体显示的位置较上次向右下角移动了一些。如果窗体以设计时的大小不可以在屏幕上完全显示,就移动到屏幕的左上角显示。
• poDefaultSizeOnly:窗体以设计期间的位置显示;窗体的大小由Windows决定。
• poScreenCenter:窗体以设计期间的大小显示;窗体显示的位置总在屏幕的中间。考虑多个监示器时位置的调整。
• poDesktopCenter:窗体以设计期间的大小显示;窗体显示的位置总在屏幕的中间。不考虑多个监示器时的调整。
13. WindowState:窗体显示状态。用来描述窗体显示的状态。可以取下面的三个数值之一:
• wsNormal:窗体以普通状态显示(既不是最大化状态,也不是最小化状态)。
• wsMinimized:窗体以最小化状态显示。
• wsMaximized:窗体以最大化状态显示。
程序员可以在对象监视器和代码中修改属性WindowState。在代码中修改的格式为:WindowState = da; // da表示上述的数值之一。