我想在我的系统中制作一个半透明的面板,如 AlphaBlend 属性,但此属性仅适用于 Tform 而不是 Tpanel。如何使面板半透明。
最佳答案
在 Windows 8 之前,子控件无法应用 WS_EX_LAYERED
窗口样式。这就是为什么非 TForm
组件没有 AlphaBlend
或 TransparentColor
属性的原因。按原样使用标准组件不可能满足您的要求。即使您创建了一个自定义的自绘组件,您仍然会与系统发生冲突,因为您必须在组件的 Parent
上绘制才能达到预期的效果。您可以尝试四处寻找第三方解决方案,但您不太可能找到很多选择,因为使用半透明子控件并不是很常见的做法。
话虽如此,您可以尝试的一个简单选择是将 TPanel
放在一个单独的无边框无标题半透明 TForm
上,将面板放置在 TForm
在您希望 TPanel
出现的父 TForm
区域上(但不要设置面板 TForm
的 Parent
属性或此练习将不起作用)然后移动面板 TForm
以与父级 TForm
同步移动。
关于delphi - 将 AlphaBlend 属性添加到面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163096/