Delphi TStatusBar 用来显示当前程序状态的


本文整理自网络,侵删。

 状态栏组件(TStatusBar)TStatusBar组件是用来显示当前程序状态的。状态栏可以分为多个面板,用来显示不同状态的内容。 

1.TStatusBar组件的典型用法

在窗体中添加了TStatusBar组件后,Align属性默认设置为alBottom,所以TStatusBar组件默认停靠在窗体的最下边,并且宽度会自动适应窗体宽度的改变。
在一个TStatusBar组件中可以有多个面板。选中TStatusBar组件后,单击鼠标右键,可以通过菜单命令“Panels Edit...”打开状态栏编辑器,可以添加、修改状态栏中的面板,还可以设置状态栏中各个面板的显示内容及面板的宽度等。当然,在程序运行期间,也可以通过代码动态改变各个面板中的内容。
用TStatusBar组件制作的状态栏可以分成几个窗格,每个窗格分别显示不同的信息。例如,一个字处理程序的状态栏可以分别显示当前页码、是否存盘、改写还是插入语言等信息。
对于用TStatusBar组件制作的状态栏来说,状态栏上的每一个窗格都是一个TStatusPanel对象,这些窗格是由TStatusPanels对象(Panels属性)管理的。
在设计期,可以在Object Inspector中单击Panels属性旁边的省略号“.”按钮来打开窗格编辑器;也可以用光标右键单击TStatusBar组件,在弹出的菜单中选择.Panels Editor.命令来打开窗格编辑器。
然后,建立和编辑窗格(TStatusPanel对象)的属性。

单击工具栏上的.Add.new.按钮可以新增加一个窗格;单击.Delete.selected.按钮可以删除一个窗格;单击上下箭头可以把节前移和后移。
通过Object.Inspector可以设置每一个窗格的属性。其中Alignment属性用于设置文字在窗格上的排列方式,设为 taLeftJustify表示左对齐,设为taCenter表示居中,设为taRightJustify表示右对齐;Bevel属性用于设置窗格是凹还是凸;Style属性用于设置窗格的风格,设为psText表示窗格上只能显示文字,设为psOwnerDraw表示可以在窗格上画出图形;Text属性用于指定要在窗格上显示的文字;Width属性用于设置窗格的宽度。

在运行期,通过TStatusPanels对象可以访问状态栏的每一个窗格(TStatusPanel对象)。程序示例代码如下:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin
if ssLeft in Shift then {make sure button is down}

begin
if Y>StartY then
begin
StatusBar1.Panels[0].Text:=’Top:’+IntToStr(StartY);
StatusBar1.Panels[2].Text:=’Bottom:’+IntToStr(Y);
end
else begin
StatusBar1.Panels[0].Text:=’Top:’+IntToStr(Y);
StatusBar1.Panels[2].Text:=’Bottom:’+IntToStr(StartY);
end;.
if X>StartX then.
begin
StatusBar1.Panels[1].Text:=’Left:’+IntToStr(StartX);
StatusBar1.Panels[3].Text:=’Right:’+IntToStr(X);
end
else begin.
StatusBar1.Panels[1].Text:=’Left:’+IntToStr(X);
StatusBar1.Panels[3].Text:=’Right:’+IntToStr(StartX);
end;
end;
end;

2.TStatusBar组件的重要属性

AutoHint----如果此属性设置为True,每个组件Hint属性上的文字自动提示在TStatusBar组件的第1个窗格上Canvas------此属性返回状态栏的画布
Panels------明确是否选中该复选框
SimplePanel-如果此属性设置为True,状态栏只有一个窗格,窗格上显示的信息由SimpleText属性指定
SimpleText--状态栏上的显示的信息由此属性决定
SizeGrip----如果此属性设置为True,允许光标拖动状态栏改变其尺寸

(1)AutoHint属性
如果此属性设为True,每个组件Hint属性上的文字自动提示在TStatusBar组件的第1个窗格上。

(2)SimplePanel属性
如果此属性设为True,状态栏将只有一个窗格,窗格上显示的信息由SimpleText属性指定。程序示例代码如下:

procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
with TStatusBar.Create(Self) do
begin

Parent:=Self;
SimplePanel:=True;
with TRichEdit.Create(Self) do
begin

Parent:=Self;
Align:=alClient;
for i:=1 to 50 do

Lines.Add(’Adding Line’+IntToStr(i));
SelStart:=0;
SimpleText:=’Number of Lines:’+IntToStr(Lines.Count);


end;
end;
end;

(3)SimpleText属性
此属性决定状态栏上显示的信息。此属性在编辑时设置不起作用,程序运行后进行设置,发现状态栏上的栏目都消失,只显示SimpleText属性设置的内容,但是如果被其他窗口覆盖后状态栏将返回原状态。

(4)SizeGrip属性
如果此属性设为True,状态栏的右下角会显示一个三角形,用鼠标光标单击这个三角形并拖动可以改变状态栏的尺寸。注意,此时不能将Align属性设置为alBottom、alRight或alClient。

相关阅读 >>

Delphi2010:把stringgrid数据保存到excel

Delphi tdsauthenticationmanager的用法

Delphi 实现文件实施监控

Delphi遍历进程并获取进程路径

Delphi 操作“任务栏”

Delphi中多线程分析详解

Delphi settimer 功能:定时api

Delphi unigui确认对话框

设定Delphi环境选项

Delphi 截屏函数(包含截取鼠标形状)

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...