No próprio método startDrag vc pode passar um Rectangle como argumento para
determinar a área de constraints.
Consulte a documentação oficial desse método q vc achará até código de
exemplo.

Lembrando q 'startDrag()' e 'stopDrag()' sao herdados do Flash. Outra forma
(e talvez até melhor, se pretende usar validações) é usar a classe
DragManager do Flex SDK.


[]'s




Em 21 de agosto de 2011 21:37, Principe borodin
<[email protected]>escreveu:

> Eu to querendo criar uma aplicacao onde eu possa usar determinados
> objetos dentro de um canvas...mas ele nao pode sair do canvas, pois ao
> lado tera uma "paleta" de ferramentas....eu tentei algo bem simples
> mas nao foi...
>
>
> <?xml version="1.0" encoding="utf-8"?>
> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009";
>                                           xmlns:s="library://
> ns.adobe.com/flex/spark"
>                                           xmlns:mx="library://
> ns.adobe.com/flex/mx"
>                                           width="1000" height="600"
> creationComplete="init()">
>        <fx:Script>
>                <![CDATA[
>                        import mx.events.DragEvent;
>                        import mx.controls.Alert;
>                        protected function
> campo_dragStartHandler(event:DragEvent):void
>                        {
>                                // TODO Auto-generated method stub
>
>                        }
>                        private function init():void
>                        {
>
>  campo.addEventListener(MouseEvent.MOUSE_DOWN,sg);
>
>  campo.addEventListener(MouseEvent.MOUSE_UP,sgu);
>                        }
>                        private function sg(event:MouseEvent):void
>                        {
>                                //Alert.show(event.currentTarget.y);
>                                var tam:int = event.currentTarget.width +
> event.currentTarget.x;
>
>                        if(campo.hitTestObject(canvas))
>                        {
>                                event.currentTarget.startDrag();
>                        }
>                        }
>                        private function sgu(event:MouseEvent):void
>                        {
>
>  //Alert.show(event.currentTarget.width+event.currentTarget.x);
>                        event.currentTarget.stopDrag();
>                        }
>
>                ]]>
>        </fx:Script>
>        <fx:Declarations>
>                <!-- Place non-visual elements (e.g., services, value
> objects) here
> -->
>        </fx:Declarations>
> <mx:Canvas x="20" y="20"  id="canvas" borderVisible="true"
> borderColor="0x000000" width="700" height="500" >
>        <s:TextInput  id="campo"/>
> </mx:Canvas>
> </s:WindowedApplication>
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev




-- 
Mario Junior
http://blog.mariojunior.com/
@mariojunior

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a