半透明窗,适用于Win2K以上。
---------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
procedure FormCreate(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
// 窗体透明度的API函数
function SetLayeredWindowAttributes(Handle : HWND; COLORKEY : COLORREF; Alpha : BYTE; Flags : DWORD) :Boolean;stdcall; external 'USER32.DLL';
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, 0, 220, LWA_ALPHA);
end;
procedure TForm1.FormDblClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then // 移动窗体
begin
ReleaseCapture;
Perform( WM_SYSCOMMAND, $F012, 0 );
end;
end;
end.