Delphi5中如何实现窗体透明? Delphi5中如何实现窗体透明? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Form 設AlphaBlend為true改變AlphaBlendValue值:200 1.设窗体的AlphaBend属性为true;2.设其AlphaBendValue值,0-255之间。 0为全透明,255为不透明 unit Unit1;interfaceuses Windows, StdCtrls, Classes, Controls , Messages , SysUtils ,Graphics , Forms , Dialogs ;Const WS_EX_LAYERED = $80000; AC_SRC_OVER = $0; AC_SRC_ALPHA = $1; AC_SRC_NO_PREMULT_ALPHA = $1; AC_SRC_NO_ALPHA = $2; AC_DST_NO_PREMULT_ALPHA = $10; AC_DST_NO_ALPHA = $20; LWA_COLORKEY = $1; LWA_ALPHA = $2; ULW_COLORKEY = $1; ULW_ALPHA = $2; ULW_OPAQUE = $4;//ÐÂÔö¼ÓµÄ³£Á¿¶¨Òåtype TForm1 = class(TForm) Button1: TButton; ScrollBar1: TScrollBar; procedure ScrollBar1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private hWindows:longint; { Private declarations } public { Public declarations } end;var Form1: TForm1;function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//º¯ÊýÉùÃ÷implementation{$R *.DFM}procedure TForm1.ScrollBar1Change(Sender: TObject);begin SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED); SetLayeredWindowAttributes(Self.Handle, 0, ScrollBar1.Position, LWA_ALPHA);end;procedure TForm1.FormCreate(Sender: TObject);begin hWindows:=GetWindowLong(Handle ,GWL_STYLE); //±£´æÔ­À´µÄÊôÐÔ SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED);//ÉèÖÃеÄÀ©Õ¹ÊôÐÔ { µÚ1¸ö²ÎÊý:´°Ìå¾ä±ú µÚ2¸ö²ÎÊý:Ò»¸öRGBÖµ,ÓÃÀ´¸æËß´°ÌåÖÐÄÇÖÖÑÕÉ«ÐèҪ͸Ã÷ µÚ3¸ö²ÎÊý:͸Ã÷¶È(0-255) µÚ4¸ö²ÎÊý:Ö¸¶¨ÊÇͨ¹ýµÚ2¸ö²ÎÊý»¹ÊǵÚ3¸ö²ÎÊýÀ´ÉèÖÃ͸Ã÷¶È } SetLayeredWindowAttributes(Self.Handle ,0 , 100 , LWA_ALPHA);//ÉèÖÃ͸Ã÷¶Èend;end. form1.brush.style:=bsclear;form1.borderstyle:=bsnone;即可. 我昨天试过了在FormCreate中加入Form1.Brush.Style:=bsClear;Form1.BorderStyle:=bsNone; 窗体透明Form 設AlphaBlend為true改變AlphaBlendValue值:200 请问Delphi7项目升级到XE2应该注意哪些问题 本机上的ORCALE数据库有没有办法自动更新 TBytes??? 大家说说做这套程序值多少钱? 在DBGrid中如何显示Memo字段值? 有关TDateTimePicker的问题 我想在窗口打开时,弹出一个模式窗口,应该在窗口的什么事件中写代码? DBgrid问题。 如何得到简、繁体中文对照表,编程或现成就有? 请问怎么才能EXCEL中的数据存到SQL数据库中? 出100分TreeView讨论,进来看看吧. 一个技术难题
改變AlphaBlendValue值:200
2.设其AlphaBendValue值,0-255之间。
0为全透明,255为不透明
interface
uses
Windows, StdCtrls, Classes, Controls , Messages , SysUtils ,Graphics , Forms , Dialogs ;
Const
WS_EX_LAYERED = $80000;
AC_SRC_OVER = $0;
AC_SRC_ALPHA = $1;
AC_SRC_NO_PREMULT_ALPHA = $1;
AC_SRC_NO_ALPHA = $2;
AC_DST_NO_PREMULT_ALPHA = $10;
AC_DST_NO_ALPHA = $20;
LWA_COLORKEY = $1;
LWA_ALPHA = $2;
ULW_COLORKEY = $1;
ULW_ALPHA = $2;
ULW_OPAQUE = $4;
//ÐÂÔö¼ÓµÄ³£Á¿¶¨Òå
type
TForm1 = class(TForm)
Button1: TButton;
ScrollBar1: TScrollBar;
procedure ScrollBar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
hWindows:longint;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//º¯ÊýÉùÃ÷
implementation
{$R *.DFM}
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED);
SetLayeredWindowAttributes(Self.Handle, 0, ScrollBar1.Position, LWA_ALPHA);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
hWindows:=GetWindowLong(Handle ,GWL_STYLE); //±£´æÔ­À´µÄÊôÐÔ
SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED);//ÉèÖÃеÄÀ©Õ¹ÊôÐÔ
{
µÚ1¸ö²ÎÊý:´°Ìå¾ä±ú
µÚ2¸ö²ÎÊý:Ò»¸öRGBÖµ,ÓÃÀ´¸æËß´°ÌåÖÐÄÇÖÖÑÕÉ«ÐèҪ͸Ã÷
µÚ3¸ö²ÎÊý:͸Ã÷¶È(0-255)
µÚ4¸ö²ÎÊý:Ö¸¶¨ÊÇͨ¹ýµÚ2¸ö²ÎÊý»¹ÊǵÚ3¸ö²ÎÊýÀ´ÉèÖÃ͸Ã÷¶È
}
SetLayeredWindowAttributes(Self.Handle ,0 , 100 , LWA_ALPHA);//ÉèÖÃ͸Ã÷¶È
end;
end.
form1.borderstyle:=bsnone;
即可.
在FormCreate中加入
Form1.Brush.Style:=bsClear;
Form1.BorderStyle:=bsNone;
Form 設AlphaBlend為true
改變AlphaBlendValue值:200