用户界面设计(2)- 窗体的主要属性
TForm类有很多属性,这其中的有些属性是不常见的,并且很少用,而另外一些属性用得很广泛,这里讲接触一些应用广泛的属性,但不包括一些显而易见的属性,诸如Caption、Color、Left、Top、Width、Height等等。
窗体透明度:
begin AlphaBlend:= true;//设置窗体是否透明 AlphaBlendValue:= 90;//设置窗体得透明度,取值在0~255,值越小透明度越高 TransparentColor:= true;//是否使用窗体的透明颜色,针对窗体得color属性 TransparentColorValue:= clGreen;//设置窗体的透明颜色值 end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin AlphaBlend:= True; ScrollBar1.Max:= 255;//设置滚动条最大值 AlphaBlendValue:= ScrollBar1.Position;//透明度跟随滚动条 end;
一、设计阶段属性
1、ActiveControl属性用来设置空间,当窗体被激活时,此控件就要聚焦。
2、AutoScroll,HorzScrollBar和VertScrollBar属性一起用来控制窗体的滚动栏。如果AutoScroll被设置成True(缺省状态),这样当窗体太小以至于不能显示所有组件时,滚动栏将会自动显示。
3、BorderIcons属性是控制运行阶段出现在窗体上的系统按钮,可供选择的按钮包括系统菜单、最小化和最大化按钮、帮助按钮。
4、BorderStyle属性表示窗体将采用什么类型的边框,其缺省值为bsSizeable,此值建立的窗口是可缩放的。不可缩放的类型包括bsDialog和bsNone。
5、ClientWidth和ClientHeight属性,可以规定客户区的高度和宽度,而不是全窗体的宽度和高度(窗体的客户区(client area)是指位于边界内标题栏和菜单栏之间的区域)。当需要把客户区变成特定的大小,并且对窗口其他部分作调整时,就可以用这两个属性,设置ClientWidth和ClientHeight属性,就会自动改变Width和Height属性。
6、Constraints属性是用来设置窗体的最大和最小长度和宽度,只要简单的把MaxWidth、MaxHeight、MinWidth和MinHeight值设定成预定的值,窗体就会符合这些限制。
7、DefautMonitor属性是决定在多重监视器环境中窗体将用哪种监视器。
8、Font属性用来说明窗体所用的字体,在这里需要理解一个很重要的论点,就是防止在窗体上的任何组件都要继承窗体字体,就是说只要改变了窗体字体,就可以同时改变所有组件所用的字体,如果个别控件的字体是人工改变的,则当主窗体字体改变时,控件字体将不会改变。
9、FormStyle属性通常设置为fsNormal,如果要使一个窗体总在顶级,可以用fsStayOnTop。MDI窗体应用fsMDIForm,MDI子窗体应用fsMDIChild。
10、HelpContext和HelpFiles,HelpContext属性用来设置窗体的帮助上下文ID,若启动了窗体的上下文帮助,则当点击F1键时,Windows帮助系统将激活,上下文ID用来指示Help系统显示帮助文件的具体哪一页。HelpFiles属性就是当点击F1键时要用的帮助文件的名称。
11、Icon属性用来设置图标,当窗体在运行阶段显示时,此图标用在窗体的标题栏上,当窗体被最小化时也是一样。在有些情况下,设置这个属性是无效的,比如当FormStyle设置为fsDialog时,Icon属性就被忽略。
12、KeyPreview属性,当此属性为True时,只要点击窗体上的任何组件就会产生此窗体的OnKeyPress和OnKeyDown事件,在默认情况下该属性为False,当窗体上组件聚焦时,窗体不接受键盘事件。
13、Position属性,当窗体初始化时,Position属性决定了窗体的大小和位置,这个属性有三个选择:
- poDesigned会导致窗体的位置为设计时的位置;
- poDefault使得Windows根据通常的Windows Z顺序算法设置大小和位置(Z顺序是Windows用来确定在屏幕的何处显示一个新窗口,如果这个新窗口没有什么特别的位置信息,那么它将在屏幕上前一个窗口的右下方显示);
- poScreenCenter使得窗体每次都在屏幕中央显示。
14、Visible属性决定窗体是否初始可见,在运行阶段,它可决定窗体是否可见,可以用于隐藏或显示窗体。
15、WindowState属性可以设置窗体的当前状态(最大化、最小化和正常)。
16、Menu属性可以选择窗体上添加的MainMenu组件
17、PopupMenu属性可以选择窗体上添加的鼠标右键菜单
二、唯运行阶段属性
有些属性只有在运行阶段才能通过代码存取,下面列举一些通用的运行阶段属性。
1、ActiveMDIChild属性,是只读的,返回一个指向当前激活的MDI子窗口的指针,如果没有当前激活的MDI子窗口或者应用程序不是MDI应用程序,则ActiveMDIChild返回0。
2、Canvas代表窗体画布,在运行阶段可以通过Canvas属性,在窗体上画位图、线、形或者文本。大部分情况下,在窗体上用Label组件画文本,用Image组件显示图像,用Shape组件画图形,但有时在运行阶段需要画画布时,就可用Canvas属性。
3、ClientRect属性包含窗体客户区的顶、左边、右边和底部的坐标。
4、Handle属性返回窗体的句柄,当需要把句柄传递给Windows API函数时,就要用这个属性。
5、ModalResult用来指示怎样关闭一个模式窗体,如果有一个对话框,它有OK按钮和Cancel按钮,当用户点击OK按钮时,可把ModalResult设置成mrOK,当有用户点击Cancel按钮时,可以把它设置成mrCancel,这样调用窗体只需读取ModalResult就可看到点击哪个按钮可关闭窗口,其他取值还有mrYes、mrNo和mrAbort。
6、Owner属性是一个指向窗体拥有者的指针,窗体的拥有者是代表当窗体不需要时有权删除窗体的对象。
7、Parent属性是一个指向父窗体的指针。