我正在尝试将手部光标设置在HBox上。我已经尝试了按钮模式和使用HandCursor,但没有成功。本例显示忙碌光标。谁能告诉我怎么让它显示flashPlayer的手部光标?
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:components="com.dn2k.components.*" >
<fx:Script>
<![CDATA[
private var cursorID:int;
//cursorManager
protected function box_mouseOverHandler(event:MouseEvent):void
{
cursorManager.setBusyCursor()
}
]]>
</fx:Script>
<mx:HBox id="box" useHandCursor="true" buttonMode="true" mouseChildren="false" backgroundColor="0xcc0000" mouseOver="box_mouseOverHandler(event)">
<s:Label text="Hiya sexy..."/>
</mx:HBox>
4条答案
按热度按时间f8rj6qna1#
当鼠标悬停在容器上时,此代码完美地显示了它:
ozxc1zmp2#
如果要在标签中设置Hand Cursor,则必须设置MouseChildren=“False”,下面是修改后的代码
希望这对你有用。
4zcjmb1e3#
杰夫说的话。您也可以使用
CursorManager.setCursor()
。不过,您必须为光标嵌入一个图形。vawmfj5a4#
您也可以使用较新的Mouse类,它提供了更高的帧速率原生光标。
背景颜色和背景Alpha用于绘制用作点击区域的图形。在空的Spark容器中,有一个我认为在MX容器中不存在的
mouseEnabledWhereTransparent
属性。以下是有关它的文档:如果为True,则此属性确保Group的整个边界响应鼠标事件,如单击和滚动。仅当将鼠标、触摸或Flash Player手势事件添加到此示例时,此属性才会生效。此外,它还假定对addEventListener()/emoveEventListener()的调用不是多余的。
话虽如此,但似乎无需设置
mouseEnabledWhereTransparent
属性即可工作: