jmfillman,

You just need to add event listeners to your button before adding it to your 
dropBox Canvas.  

See below.

Cheers.

- Jae 


            private function dragDropHandler( event:DragEvent) :void {

            {
                ...
                buttonA.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
                buttonA.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
                buttonA.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
                dropBox.addChild( buttonA);
                ...
            } 

            // Note this is needed for smoothing drag.  Highly necessary in my 
opinion. 
            private function mouseMove(event:MouseEvent):void 
            {
                event.updateAfterEvent();    
            }  

            private function mouseDown(event:MouseEvent):void 
            {
                if (event.target is Button)
                {
                    event.target.startDrag();
                }
                
            }
            
            private function mouseUp(event:MouseEvent):void
            {
                if (event.target is Button)
                {
                    event.target.stopDrag();
                }
            }


----- Original Message ----
From: jmfillman <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, February 22, 2007 11:57:04 PM
Subject: [flexcoders] Drag & Drop Question









  


    
            See code below. After you drag an item from the list and drop it 
into 

the Canvas, how you do then drag the item you just dropped, have it 

run the dragDropHandler function, and then move the original item?



<?xml version="1.0" ?>

<mx:Application xmlns:mx="http://www.adobe. com/2006/ mxml" 

layout="absolute" width="500" height="620" borderStyle= "solid" 

creationComplete= "initApp( );">



<mx:Script>

        <![CDATA[

                import mx.controls. Button;

                        import mx.controls. Alert;

            import mx.events.DragEvent ;

            import mx.controls. List;

            import mx.managers. DragManager;

            import mx.core.DragSource;

                        

            private function initApp():void {

                var dp:Array = ([

                    {label:"First" , data:"25"},

                    {label:"Second" , data:"50"},

                    {label:"Third" , data:"75"},

                    {label:"Fourth" , data:"100"},

                ]);

                listOne.dataProvide r = dp;

            }

            

            private function dragEnterHandler( event:DragEvent) :void {

                var dropTarget:Canvas= event.currentTar get as Canvas;

                    dropTarget.setStyle ("borderThicknes s", 5);

                    DragManager. acceptDragDrop( dropTarget) ;

                }

                

            private function dragExitHandler( event:DragEvent) :void {

                var dropTarget:Canvas= event.currentTar get as Canvas;

                                revertBoxBorder( );                

            }

            

            private function dragDropHandler( event:DragEvent) :void {

                var dropTarget:Canvas= event.currentTar get as Canvas;

                                var buttonA:Button = new Button;

                                buttonA.label = 

listOne.selectedIte m.label;

                                if (dropTarget. mouseY.valueOf( ) >= 0 

&& dropTarget.mouseY. valueOf() < 100) {

                                        buttonA.y = 0;

                                        buttonA.y = 0;

                                }

                                if (dropTarget. mouseY.valueOf( ) >= 

100 && dropTarget.mouseY. valueOf() < 200) {

                                        buttonA.x = 00;

                                        buttonA.y = 100;        

                                

                                }                               

        

                                dropBox.addChild( buttonA);

                revertBoxBorder( );                

            }

                           

            private function revertBoxBorder( ):void {

                dropBox.setStyle( "borderThickness ", 

1);                

            }                

        ]]>

</mx:Script>

                <mx:List id="listOne" dragEnabled= "true" 

dropEnabled= "true" x="10" y="10"></mx: List>

                <mx:Canvas x="180" y="10" width="308" height="498" 

borderStyle= "solid" borderColor= "#000000" backgroundColor= "#FFFFFF" 

                        dragEnter="dragEnte rHandler( event);" 

id="dropBox" dragExit="dragExitH andler(event) ;"

                        dragDrop="dragDropH andler(event) ;">   

                </mx:Canvas>

</mx:Application>





    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->





Reply via email to