我正在寻找一种 AlphaBlend 子窗体的方法,如果可能的话,使用分层窗口,因为它后面会有交互式控件。
问题是我在常规 TForm 中有一个组件,它绘制多个可视层(绘图、图片......)。在某些时候我需要在这个表单上(就地)实例化一个编辑器控件,这个控件将涉及我的控件之外的各种标准输入控件(编辑框、复选框等),但是我想覆盖正在使用 Alpha 混合编辑的图层前面的图层(并WS_EX_TRANSPARENT
使其点击通过)。
我首先想到的是为此使用子表单(无边界TForm
s 是组件的父级),并且效果很好,直到 AlphaBlended TForm 根本不进行 alphablend,但一旦成为父级就会变得不透明......
然后,我尝试取消 alphablended 表单的父级,将其设置为 fsStayOnTop,并通过对相关事件做出反应,将其保持在屏幕上的组件前面,这可行,但这并不是一个真正令人满意的解决方案:alphablended StayOnTop 表单是也在应用程序的其他模态和非模态形式之前,如果用户决定将它们移动到组件前面......
那么,关于让子表单成为字母混合的方式的任何其他想法?(或表现得像这样)