2010-10-06 79 views
0

问题是当顶部或底部标签的背景被改变时,顶部或底部按钮被擦除。擦除画布上的组件

<mx:Canvas width="100%" height="100%"> 
     <mx:LinkButton icon="{icon1}" width="25" x="10" y="10"/> 
     <mx:LinkButton icon="{icon2}" width="25" x="10" y="100" /> 
    <s:VGroup width="100%" height="100%" id="lst" click="highlight(event.target as Label)" gap="0"> 
     <s:Label /> 
     <s:Label /> 
     <s:Label selected="true" /> 
     <s:Label /> 
     <s:Label creationComplete="fillList()"/> 
    </s:VGroup> 
</mx:Canvas> 

    private function highlight(label:Label):void { 
     setStyle("backgroundColor", "#DDDDDD"); 
    } 

那么有人知道这个问题的可能解决方案吗?

回答

0

您正在将VGroup放在按钮的顶部,因此当您填充标签的背景时,会隐藏按钮。

如果您重新排列组件以便按钮位于VGroup顶部,则不会发生这种情况。

将VGroup字面上的按钮放在Canvas中的子项列表中。

+0

非常感谢!现在我有另一个问题。当用户按下按钮并按住鼠标左键时,我试图捕获按钮上的事件。问题是我想要无休止地捕捉它,直到用户拿起鼠标。我尝试了buttonDown - 它只有在我点击空格键时才会工作。 mouseDown处理程序只捕获一次,所以它只是一个简单的点击。任何帮助将不胜感激 – igu 2010-10-06 13:33:29

+0

我发现了。我们应该使用autoRepeat =“true”作为按钮。 – igu 2010-10-06 13:54:50