当前位置: 首页 > 开发语言 > Delphi > Delphi实例实时的透明窗体

Delphi实例实时的透明窗体

时间:2020-11-16 16:02来源:未知 点击:
分享到:
界面是程序的面孔,很多应用程序的界面给用户留下了深刻的印象,如FlashGet的半透明窗体。本实例说明如何利用Delphi制作一个Windows 2000下的透明窗体。

在窗体上分别添加一个TImage和TTrackBar组件,前者用来显示一幅图片,后者用来调节窗体的透明度。添加组件后的窗体如图1-1所示。

图1-1  添加组件后的窗体

为了达到实时的透明效果,在程序运行过程中用户可以通过调节TTrackBar组件上滑块的位置来设置窗体的透明程度。为此需要设置窗体的AlphaBlend属性为True,然后添加如下处理TTrackBar组件上滑块位置变化的代码:
procedure TfrmMain.TrackBar1Change(Sender: TObject);
begin
    self.AlphaBlendValue:=self.TrackBar1.Max-self.TrackBar1.Position;
end;
AlphaBlend属性为True,通过改变窗体的AlphaBlendValue属性值即可设置窗体的透明度。

程序代码如下:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls;
type
  TfrmMain = class(TForm)
    Image1: TImage;
    TrackBar1: TTrackBar;
    procedure FormCreate(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  frmMain: TfrmMain;
implementation
{$R *.dfm}
 
procedure TfrmMain.FormCreate(Sender: TObject);
begin
    self.AlphaBlend:=true;
    self.TrackBar1.Min:=0;
    self.TrackBar1.Max:=255;
    self.TrackBar1.Frequency:=25;
end;
 
procedure TfrmMain.TrackBar1Change(Sender: TObject);
begin
    self.AlphaBlendValue:=self.TrackBar1.Max-self.TrackBar1.Position;
end;
end.

选择“File”|“Save All”选项,在弹出的对话框中选择合适的文件名保存文件。然后按F9键运行程序,运行结果如图1-2所示。

值得注意的是,本程序在Windows 98环境下不能够得到透明效果,因为AlphaBlend属性和AlphaBlendValue属性只支持Windows 2000及以后版本的操作系统。通过这个实例,读者不但可以体验到Delphi的强大功能,还可以为自己的应用程序界面加上看起来很神奇的透明效果。

图1-2  程序运行结果
(责任编辑:admin)
推荐教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们--网站地图          黑ICP备17004983号-1