Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:12:06
delphi浮动工具栏实例

delphi浮动工具栏实例

浮动工具栏

实例说明

通常情况下,窗体显示在屏幕的中心。对于使用频率非常高的软件,通常放在屏幕上端以浮动工具栏形式显示。下面通过实例介绍浮动工具栏的设计方法。运行程序,窗体可以停在屏幕的任意位置,当窗体失去焦点后,窗体自动隐藏,效果如图1.8所示




技术要点

窗体是否要隐藏,重要的是要判断是否在操作中,通过窗体的Active属性,可以确定窗体是否具有焦点。在窗体有焦点时,该窗体正在被操作,这时需要完全显示在屏幕当中;如果窗体没有焦点,通过设置窗体到屏幕的高度来确定窗体的隐藏部分。在TTimer组件的OnTimer事件中,窗体没有焦点时,隐藏工具栏,代码如下:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if self.Active=False then

self.Top:=-30;

end;

注意:如果设置窗体的Color属性与TransparentColorValue属性为相同的颜色值,并设置窗体的TransparentColor属性为True,运行时窗体将是透明的。

实现过程

1.新建一个工程,该工程会自动创建一个主窗体,默认命名为Form1。

2.在窗体上添加TTimer组件和TImage组件。

3.相关组件的主要属性如表1.2所示





表1.2主要组件对象的属性列表

4.程序代码如下:

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

self.Close;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

ShellExecute(handle,'open',pchar(Combobox1.Text),nil,nil,SW_show);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

self.Left:= 200;

self.Top :=-30;

end;

procedure TForm1.Image1Click(Sender: TObject);

begin

self.Top:=10

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if self.Active=False then

self.Top:=-30;

end;

end.



If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759