Показать сообщение отдельно
Старый 17.12.2008, 13:41
Agent007 вне форума Посмотреть профиль Отправить личное сообщение для Agent007 Найти все сообщения от Agent007
  № 1  
Ответить с цитированием
Agent007

Регистрация: May 2006
Сообщений: 33
По умолчанию 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>