使控件透明

时间:2010-06-29 20:54:36

标签: delphi delphi-7

有没有办法让控件变得透明,如按钮,编辑,面板等......?我的意思是像form property一样的容量或alpha混合。

4 个答案:

答案 0 :(得分:3)

某些组件具有透明属性。在其他人中,您可以选择“无”作为颜色属性。它因组件而异,但并非所有组件都可以通过更改属性而变得透明。

你应该尝试谷歌搜索Delphi透明组件,你可以使用可下载的组件和技巧来使现有组件透明。

答案 1 :(得分:1)

查看Win32窗口样式,尤其是WS_TRANSPARENT(或WS_EX_TRANSPARENT)。

答案 2 :(得分:0)

使用旧式区域和SetWindowRgn()功能可以非常轻松地在子控件上应用透明度。

另一方面,在Windows 8之前,在子控件上应用alpha混合非常困难。它首先将父窗口绘制为位图,然后在子窗口上混合使用子控件的图像。位图,然后在屏幕上渲染位图。

在Windows 8中,最终为子控件实现了WS_EX_LAYERED窗口样式(Tform的TransparentColorAlphaBlendValue属性在内部使用)。

答案 3 :(得分:-2)

alpha通常是十六进制数中的前两位数....

典型的十六进制是#FFFFFF一个带有不透明度信息的十六进制是#FFFFFFFF,在完全不透明度时会是白色#00FFFFFF在0不透明度时会是白色...

您还应该能够将背景设置为透明。如果你想让整个控制消失,你可以简单地隐藏它......你想要实现什么?