我的应用程序中有一个自定义的圆形组件,截至目前已分为3个扇区。我们可以唯一标识此圆圈的每个部分吗?我想将文本或图像从另一个容器拖放到此圆组件中。但我想在不同的部门放置不同的图像。是否可以区分圆形分量的各个扇区?
这是我的代码:
<mx:TabNavigator width="624" height="100%">
<mx:VBox id="currQuote" label="Currents Quote" width="100%">
<comp:MyCircle x1="175" y1="150" radius="150"/>
<comp:MyCircle x1="175" y1="150" radius="120"/>
<comp:MyCircle x1="175" y1="150" radius="25"/>
<comp:MyLine x1="160" y1="122"/>
</mx:VBox>
<mx:VBox label="Quote Comparison" width="100%"/>
<mx:VBox label="Reports" width="100%"/>
</mx:TabNavigator>
圆形组件:
package components
{
import mx.core.UIComponent;
public class MyCircle extends UIComponent
{
public var x1:int;
public var y1:int;
public var radius:int;
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
graphics.lineStyle(1, 0x000000);
graphics.drawCircle(x1, y1, radius);
}
}
}
线组件:
package components
{
import mx.core.UIComponent;
public class MyLine extends UIComponent
{
public var x1:int;
public var y1:int;
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
graphics.lineStyle(1, 0x000000);
graphics.moveTo(100,0);
graphics.lineTo(x1, y1);
graphics.moveTo(250,0);
graphics.lineTo(185,120);
}
}
}
实际上我希望将圆圈划分为6个扇区,但现在只需将其划分为3个扇区。但是,是否可以单一地识别圆圈的各个扇区,以便将不同的图像或文本拖到那些特定的扇区中?
答案 0 :(得分:0)
看看flex中的拖放实现 - http://livedocs.adobe.com/flex/3/html/help.html?content=dragdrop_5.html
通常,您希望在自定义圆组件中处理dragEnter和dragDrop事件。