我们能否在flex中唯一地识别圆形分量的各个扇区?

时间:2010-01-04 08:02:11

标签: flex

我的应用程序中有一个自定义的圆形组件,截至目前已分为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个扇区。但是,是否可以单一地识别圆圈的各个扇区,以便将不同的图像或文本拖到那些特定的扇区中?

1 个答案:

答案 0 :(得分:0)

看看flex中的拖放实现 - http://livedocs.adobe.com/flex/3/html/help.html?content=dragdrop_5.html

通常,您希望在自定义圆组件中处理dragEnter和dragDrop事件。