我想在我的系统中创建一个半透明的面板,就像AlphaBlend属性一样,但是这个属性只对Tform可用,而不对Tpanel可用。如何使面板变得半透明。
发布于 2013-10-04 00:06:04
在Windows8之前,子控件不能应用WS_EX_LAYERED窗口样式。这就是非TForm组件没有AlphaBlend或TransparentColor属性的原因。您所要求的内容不可能按原样使用标准组件。即使您创建了一个自定义的所有者描述的组件,您仍然会与系统发生冲突,因为您必须绘制到该组件的Parent上才能达到所需的效果。您可以尝试寻找第三方解决方案,但您不太可能找到很多选择,因为使用半透明的子控件并不是一种非常常见的做法。
也就是说,您可以尝试将TPanel放在一个单独的无边框无标题半透明TForm上,将面板TForm放置在父TForm上您希望TPanel出现的区域上(但不要设置面板TForm的Parent属性,否则此练习将不起作用),然后在面板TForm四处移动时与父TForm同步移动。
https://stackoverflow.com/questions/19163096
复制相似问题