通过设置透明色来切掉部分firemonkey表单不起作用?

时间:2014-08-07 06:39:18

标签: delphi firemonkey

我想删掉部分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 );

1 个答案:

答案 0 :(得分:2)

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

您已将此设置为70,透明度约为27%。

如果你想要完全透明,你应该把它设置为0.

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

但是我确实在这里找到了关于如何从SO AlphaBlend in FireMonkey

设置整个FMX的部分透明度的问题

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