在窗体上分别添加一个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)