Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   drag&Drop в рамках скрола (http://www.flasher.ru/forum/showthread.php?t=119296)

Agent007 17.12.2008 13:41

drag&Drop в рамках скрола
 
Подскажите пожалуйста как можно реализовать.
Есть компонент HBox, внутрь него грузиться картинка, также есть зум этой картинки и при увеличении ее в HBox появляеться скролл я пытаюсь сделать drag&Drop внутри HBox. Натолкните хотябы на мысль)))
Код:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >

    <mx:Script>
        <![CDATA[
                                 
                import flash.events.MouseEvent;
               
                private var imageWidth:Number=0;
        private var imageHeight:Number=0;
                                                                                       
                private        function stopDr(event:MouseEvent):void
                        {
                                p_Image.stopDrag();
                        }

                private        function startDr(event:MouseEvent):void
                        {
                                if (p_Image.width>box.width){
                                        p_Image.startDrag();
                                }

                        }
                                                       
                private        function DrDr(d:Event):void
                        {
                                p_Image.addEventListener(MouseEvent.MOUSE_DOWN, startDr);
                                p_Image.addEventListener(MouseEvent.MOUSE_UP, stopDr);
                        }
         
        private function ImZoom():void
                        {
                                p_Image.width=uint(imageWidth*hSlider.value/100);
                    p_Image.height=uint(imageHeight*hSlider.value/100);
                }
        ]]>
    </mx:Script>

    <mx:Panel id="p_panel" height="417" width="430"
        paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">

        <mx:HBox height="301" width="375" id="box">
            <mx:Image id="p_Image" source ="@Embed('PK_icon_.png')" initialize="DrDr(event)"
                creationComplete="imageWidth=p_Image.width; imageHeight=p_Image.height;" />
        </mx:HBox>

        <mx:HSlider id="hSlider" minimum="0" maximum="400" value="100"
            dataTipPlacement="top"
            tickColor="black"
            snapInterval="1" tickInterval="10"
            labels="['0%','400%']"
            allowTrackClick="true"
            liveDragging="true"
            change="ImZoom();" width="376"/>
    </mx:Panel>
</mx:Application>


FlexOkeks 17.12.2008 15:47

http://livedocs.adobe.com/flex/3/htm...ragdrop_7.html

Agent007 17.12.2008 16:02

спасибо за ссылку, я видел этот пример, я наверно немного неправильно выразился, нужно сделать аналог scrollDrag компонента ScrollPane, и никак не пойму как ограничить область драга в рамках скрола

FlexOkeks 17.12.2008 16:30

Может DragScrollingCanvas из flexlib подойдет?

Agent007 18.12.2008 12:57

FlexOkeks, огромное спасибо это именно то что нужно. Все получилось))


Часовой пояс GMT +4, время: 14:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.