我想剪掉一部分firemonkey的形式,
通过使用LWA_COLORKEY调用SetLayeredWindowAttributes,表单的黑色部分会变为单击但不透明?

uses
Winapi.Windows, FMX.Platform.Win

SetWindowLong(FmxHandleToHWND(Form1.Handle), GWL_EXSTYLE, GetWindowLong(FmxHandleToHWND(Form1.Handle), GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes( FmxHandleToHWND(Form1.Handle), RGB(0,0,0), 70, LWA_COLORKEY );

最佳答案

如果您检查SetLayeredWindowAttributes函数定义,您将看到第三个参数定义了alpha值来描述分层窗口的不透明度。

您已将其设置为70,即大约27%的透明度。

如果要完全透明,则应将其设置为0。

编辑:我猜测这应该同时适用于VCL和FMX应用程序,因为SetLayeredWindowAttributes是Windows API函数,但我认为我错了。

但是我确实从SO AlphaBlend in FireMonkey上找到了一个关于如何为整个FMX设置部分透明度的问题

也许您可以修改该代码以仅使表单的某些部分透明。

07-28 03:27
查看更多