第1章 界面开发实例 实例1 实时的透明窗体
界面是程序的面孔,很多应用程序的界面给用户留下了深刻的印象,如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 程序运行结果 |