实现半透明的窗体!!! 实现半透明的窗体!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 delphi6窗口有兩個屬性可以實現﹕AlphaBlend 設為True AlphaBlendValue 設為你想要的透明程度。 api,可以轻易的实现半透明的窗体,源程序如下,必要的地方我加上了注释unit unit1;interfaceuses windows, messages, sysutils, classes, graphics, controls, 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) procedure formcreate(sender: tobject); private { private declarations } public { public declarations } end;function setlayeredwindowattributes(hwnd:hwnd; crkey:longint; balpha:byte; dwflags:longint ):longint; stdcall; external user32;//函数声明varform1: tform1;implementation{$r *.dfm}procedure tform1.formcreate(sender: tobject);var l:longint;begin l:=getwindowlong(handle, gwl_exstyle); l := l or ws_ex_layered; setwindowlong (handle, gwl_exstyle, l); setlayeredwindowattributes (handle, 0, 180, lwa_alpha);//第二个参数是指定透明颜色//第二个参数为0则使用第四个参数设置alpha值,从0到255,其他的我不太清楚,因为没有api帮助end;end. d6已经加了两个属性Alphablend和AlphaBlendValue前者为真,后者是透明程度。不过,在窗口显示的时候可能会出现闪烁。 在Windows2000下:使窗体的Alphablend属性为true;Alphablendvalue的值为100(自己确定,它是透明度的参考值) 但是在win98下这些都不能实现半透明窗口。只有在win2k下才能实现 Delphi能实现这样的程序吗? 多元方程求解的代码(求源代码)? fastreport如何既打印页计又打印总计 如何解决这样的问题? 散分...俺是刚来的-散分 select sysdate from dual 有时为什么是0003-06-10 请教reportbuild问题 窗体的可视化继承 谁知道哪里有这两本书下载 sql server 2000登录问题(急用啊!) 我自己编了个控件,但是在用这个控件时发现我给控件定义的方法找不到 为什么我的脚本加加密后不能使用? 急!!!
AlphaBlendValue 設為你想要的透明程度。
unit unit1;interfaceuses
windows, messages, sysutils, classes, graphics, controls, 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)
procedure formcreate(sender: tobject);
private
{ private declarations }
public
{ public declarations }
end;function setlayeredwindowattributes(hwnd:hwnd; crkey:longint; balpha:byte; dwflags:longint ):longint; stdcall; external user32;//函数声明var
form1: tform1;implementation
{$r *.dfm}
procedure tform1.formcreate(sender: tobject);
var l:longint;
begin
l:=getwindowlong(handle, gwl_exstyle);
l := l or ws_ex_layered;
setwindowlong (handle, gwl_exstyle, l);
setlayeredwindowattributes (handle, 0, 180, lwa_alpha);
//第二个参数是指定透明颜色
//第二个参数为0则使用第四个参数设置alpha值,从0到255,其他的我不太清楚,因为没有api帮助
end;end.