请问~怎样把一个窗口的背景色设为透明?(偶是菜鸟)(20分)

  • 主题发起人 主题发起人 Mzh
  • 开始时间 开始时间
M

Mzh

Unregistered / Unconfirmed
GUEST, unregistred user!
如题~~会的帮帮忙谢谢
 
一种
form1.AlphaBlend:=true;
form1.AlphaBlendValue:=0;
二种
procedure TForm1.CreateParams(var Params:TCreateParams);
Begin
inherited CreateParams(Params);
Params.ExStyle:=WS_EX_TRANSPARENT;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Brush.Style:=bsClear;
Form1.BorderStyle:=bsNone;
end;
三种
PROCEDURE Tform1.CMEraseBkgnd(var Message:TWMEraseBkgnd);
BEGIN
brush.style:=bsClear;
Inherited;
END;
选吧!
 
不行啊~~你方法需然是透明了但是把标题也透明了
我想要像DELPHI编辑环境一样
高手帮帮忙
 
给分吧
procedure TForm1.FormCreate(Sender: TObject);
var
AFull, AClient: THandle;
X, Y: Integer;
begin
AFull := CreateRectRgn(0, 0, Width, Height);
X := (Width - ClientWidth) div 2;;
Y := Height - ClientHeight - ((Width - ClientWidth) div 2);
AClient := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
CombineRgn(AFull, AFull, AClient, RGN_DIFF);
SetWindowRgn(Handle, AFull, True);
end;
 
你的程序不行,不够灵活,再说了边框还在呢,要只留标题
 
直接 form1.height:=0; 不就得了
 

Similar threads

I
回复
0
查看
794
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
557
import
I
后退
顶部