Delphi 控件的不透明度?

Delphi 控件的不透明度?,delphi,graphics,vcl,opacity,alphablending,Delphi,Graphics,Vcl,Opacity,Alphablending,如何更改基于TWinControl的控件的不透明度?为什么他们没有将此功能添加到TControl/TWinControl级别(为什么只有TForm) 谢谢你,拉尔斯 我不知道你会怎么做。据我所知,Windows只向Windows添加了半透明,这就是为什么TForm可以处理它,但不能处理单个控件。请记住,大多数VCL只是Windows常用控件的包装器,因此如果Windows不这样做,相关的VCL控件也很少会这样做。第三方组件通常会扩展基本功能。控制窗口不透明度的功能由称为分层窗口的功能提供。你可以

如何更改基于TWinControl的控件的不透明度?为什么他们没有将此功能添加到TControl/TWinControl级别(为什么只有TForm)

谢谢你,拉尔斯


我不知道你会怎么做。据我所知,Windows只向Windows添加了半透明,这就是为什么TForm可以处理它,但不能处理单个控件。请记住,大多数VCL只是Windows常用控件的包装器,因此如果Windows不这样做,相关的VCL控件也很少会这样做。第三方组件通常会扩展基本功能。

控制窗口不透明度的功能由称为分层窗口的功能提供。你可以。该功能仅适用于顶级窗口。据我所知,(Vista的“玻璃”效果)也只适用于顶级窗口


子窗口可用的替代方法有:将窗口的某些区域标记为完全透明,或者自己绘制整个控件。

我不知道该怎么做。据我所知,Windows只向Windows添加了半透明,这就是为什么TForm可以处理它,但不能处理单个控件。请记住,大多数VCL只是Windows常用控件的包装器,因此如果Windows不这样做,相关的VCL控件也很少会这样做。第三方组件通常会扩展基本功能。@_J_:你说得对。为什么不将此添加为答案以便接受?请编辑此内容,即使控件是windows(
HWND
type)。重要的一点是,只支持没有
WS\u CHILD
样式的windows。使用重写的
CreateParams
方法设置
WS_CHILD
样式的表单也不能是半透明的。感谢您为链接付出的额外努力。