我正在尝试使用 Flash Builder 中的 flex/Action Script 构建桌面 AIR 应用程序。
我想要的功能是: - 透明背景 - 半透明(alpha 0.5)项目/元素,忽略所有鼠标事件并“通过点击”到应用程序后面的应用程序
所以基本上我想要的是元素以与透明背景完全相同的方式处理鼠标事件 - 即。就像你在点击后面的应用程序
这是我尝试过的代码示例。在下面的示例中,单击按钮会触发“单击窗口”警报,以证明单击被按钮忽略并到达具有透明背景的窗口。但是,当我删除单击处理程序时,单击按钮不会导致单击传递到后面的应用程序,就像在透明背景上的其他任何地方单击一样。
有任何想法吗?
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
alwaysInFront="true"
creationComplete="maximize();">
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
s|WindowedApplication
{
skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin");
background-color:#999999;
background-alpha:"0";
}
</fx:Style>
<fx:Script>
import mx.controls.Alert;
public function windowClicked():void{
Alert.show("window clicked");
}
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Window id="mainWindow" height="100%" width="100%" mouseChildren="false" backgroundAlpha="0">
<s:Button label="Click Through Me Please" alpha="0.5"/>
</s:Window>
</s:WindowedApplication>