Delphi 编写的程序中,如何让程序实现像Windows7一样的毛玻璃效果?

Delphi 编写的程序中,如何让程序实现像Windows7一样的毛玻璃效果?,第1张

QQ那个右下角提示框就是那么做的,烦人,我看到就骂.因为这框不到完全不透明时,界面就不能进行任何 *** 作.真烦.其实要做到这一点,非常容易,DELPHI本身就具备这个功能!

你先把窗体AlphaBlend属性设置为真.再把它的AlphaBlendValue值设为0

在窗体上拖一个 Timer1计时器控件,把它的Enabled设置为false

然后在它的Timer1Timer 事件中写代码

procedure TForm1.Timer1Timer(Sender: TObject)

var

i:integer

begin

for i:=0 to 10000000 do

begin

if i mod 1000 =0 then

begin

Form1.AlphaBlend :=true

if Form1.AlphaBlendValue<255 then

Form1.AlphaBlendValue:= Form1.AlphaBlendValue+1

end

end

end

再在窗体的FormShow事件中

procedure TForm1.FormShow(Sender: TObject)

begin

Timer1.Enabled:=true

end

运行程序,OK,到手了

现在就试试吧,赶快给分洛

首先,这个效果是要系统支持,也就是WIN7或VISTA(不会拼……),并且开打了Aero,也就是你其他程序的窗体可以半透明。

然后,可以调用DWM API来实现,这个网上有很多,就不多说了。

另外,也可以直接下载别人写好的库,这样就好了。

另外说下,就是窗体背景的问题,上面这个效果,是通过渐变透明通道实现,如果是普通BMP图的话,由于其没有透明通道(24位图),所以不会显出透明的,可以用PNG图。当然画刷没有这个问题。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12143372.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存