如何更改基于 TWinControl 的控件的不透明度?为什么他们不将此功能添加到 TControl/TWinControl 级别(为什么只有 TForm)?
问问题
1009 次
2 回答
5
控制窗口的不透明度由称为分层窗口的功能提供。您可以在 MSDN 上阅读有关该功能的更多信息。该功能仅适用于顶级窗口。据我所知,桌面窗口管理器(Vista 的“玻璃”效果)也仅适用于顶级窗口。
子窗口可用的替代方法是使用窗口区域将窗口的某些区域标记为完全透明,或者使用位图 alpha 混合来自己绘制整个控件。
于 2009-10-28T13:35:12.600 回答
5
谢谢拉斯。
我不知道你会怎么做。据我了解,Windows 只为窗口添加了半透明,这就是为什么 TForm 可以处理它,但不能处理单个控件。请记住,大多数 VCL 只是 Windows 公共控件的包装,因此如果 Windows 不这样做,相关的 VCL 控件也很少会这样做。第三方组件通常会扩展基本功能。
于 2009-10-28T10:44:58.913 回答