上一篇 | 下一篇

窗口中状态行的显示

发布: 2008-6-26 17:33 | 作者: admin | 来源: | 查看: 0次

窗口中状态行的显示

 很多的软件为了拥有良好的对话,在工作过程中向用户提供一些动态信息,使用户随时随地了解当前状况。使用状态行是目前采用较多的手段之一。所谓状态行就是位于窗口下方,用于显示一些提示性文字的显示板,利用状态行可以向用户动态提示有关信息,如:当前打开的文件名称、文件大小;当前打开的数据库名称、数据库记录数等。

(1)在窗体中增加状态行,状态行设计分以下几个步骤:

在窗体中加入一个TPanel构件Panel1,其特性设置如下:

*Align为alBottom,状态行总是位于窗体的下部。

*Caption为空。

*Alignment为taLeftJustify,显示文字为左对齐方式。

*Bevelinner为bvLowered;Borderwidth为〉1,产生具有粗线内外框且具有凹下效果的状态

行。

(2)显示系统状态

通过给Panel1的标题(Caption)赋值来更新状态行的显示。如想知道按钮构件(Button1)在键入后,系统打开的文件及其大小,可在Button1的OnClick事件输入如下内容:

ProcedureTForm1.Button1Click(Sender:TObject);

begin

Panel1.Caption:=‘文件名:’+S1+‘文件大小:’+S2

end;

其中:S1和S2均是字符串,S1为文件名,S2为文件大小。

(3)显示各个构件的提示

Windows中有很多的软件使用飞行提示,即当鼠标指定到某部分时,状态行出现其提示;而当鼠标移走后,则该提示消失;Delphi工具同样可以完成上述功能,具体做法如下:

type

TForm1=class(TForm)

Button1:TButton;

Panel1:TPanel;

Edit1:TEdit;

procedureFormCreate(Sender:TObject);

Private

{Privatedeclarations}

public

procedureDisplayHint(Sender:TObject);

end;

var

Form1:TForm1;

implementation

{$R*.FRM}

procedureTForm1.DisplayHint(Sender:TObject);

begin

Panel1.Caption:=Application.Hint:

end;

procedureTForm1.FormCreate(Sender:TObject);

begin

Application.OnHint:=DisplayHint;

end;

在程序中增加了上述内容后,只要Button1的Hint中有内容,当鼠标移动到Button1时,状态行出现Hint中的内容;而当鼠标移走后,状态行中Hint的内容消失。

巧用回车键

用过Foxpro的用户都知道,键入回车键,程序自动从一个输入框转入到下一个输入框。但Delphi工具采用的方式与Windows完全一样,必须键入Tab键,程序才从一个输入框转入到下一个输入框。这对于用惯了Foxpro的人来说,十分不方便。

Delphi工具提供两种命令按钮,按钮构件(TButton)和图示按钮(TBitbtn)。假设在窗体Form1中有两个输入框Edit1和Edit2,一个按钮构件(Button1)。键入Tab键,程序从输入框Edit1转入到下一个输入框Edit2。若想达到键入回车键,程序从输入框Edit1转入到下一个输入框Edit2,我们可以通过控制按钮构件的特性来达到上述要求。具体方法如下:

第一种方法

(1)首先将按钮构件Button1的Default特性设置为True,这样在程序执行期间若有回车键键入,则Button1的OnClick事件被执行,在Button1的OnClick事件中编写程序,就可以达到从Edit1输入框到Edit2输入框的目的。

(2)编写TForm1.Button1Click事件程序

procedureTForm1.Button1Click(Sender:TObject);

begin

ifEdit1.Focusedthen

Edit2.SetFocus;

end;

第二种方法

(1)与第一种方法(1)同样,将按钮构件Button1的Default特性设置为True。

(2)编写Edit2―Focused子程序

procedureTForm1.Edit2―Focused(Sender:TObject);

begin

Edit2.SetFocus;

end;

同时在Unit1中填写:

public

{Publicdeclarations}

procedureEdit2―Focused;

(3)编写TForm1.Edit1Enter事件

procedureTForm1.Edit1Enter(Senter:TObject);

begin

Button1.OnClick:=Edit2―Focused;

end;

这样,当键入回车键后,But

字号: | 推荐给好友

21/212>

评分:0

我来说两句