+ -
当前位置:首页 → 问答吧 → 请问如何能让form窗体透明,而窗体中的控件和图片能正常显示

请问如何能让form窗体透明,而窗体中的控件和图片能正常显示

时间:2011-12-12

来源:互联网

请问如何能让form窗体透明,而窗体中的控件和图片能正常显示

作者: zhangwz20   发布时间: 2011-12-12

这个,只能是窗体叠加来实现,后置一个透明窗体做为背景,前置窗体设置它的区域为它的子控件加起来的区域
SetWindowRgn

作者: DelphiTeacher   发布时间: 2011-12-12

1 将Form的AlphaBlend属性设置为True,之后调整Form的AlphaBlendValue属性,255为不透明,数字越小透明度越大(不过这样会让控件也透明)
2 在窗体PaintDesktop绘制桌面背景~

作者: funxu   发布时间: 2011-12-12

引用 1 楼 delphiteacher 的回复:
这个,只能是窗体叠加来实现,后置一个透明窗体做为背景,前置窗体设置它的区域为它的子控件加起来的区域
SetWindowRgn


setwindowrgn也是个办法,不过透明部分已经不是窗体区域了,想要处理事件很麻烦
rgn := CreateEllipticRgn(0, 0, Width, Height);
SetWindowRgn(Handle, rgn, True);

作者: funxu   发布时间: 2011-12-12