PDA

Просмотр полной версии : ScrollPane + изменение размера окна. Проблема


NikosHope
03.03.2011, 18:31
Здравствуйте. Реализовал некий функционал с использование стандартного компонента ScrollPane. Однако, возникла проблема. При достижении условий, при которых скроллы должны пропадать, они не пропадают. Причина в том, что нужно сделать поправку при ресайзе контента на их ширину.

package {

import flash.display.MovieClip;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import fl.containers.ScrollPane;

public class main extends MovieClip {

var img_mc:MovieClip;
var sp:ScrollPane = new ScrollPane();
var kWH;

public function main()
{

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

img_mc = new img;
kWH = img_mc.width/img_mc.height;

sp.source = img_mc;
stage.addChild(sp);

onResize(null);
stage.addEventListener(Event.RESIZE,onResize);

}

public function onResize(e:Event)
{
img_mc.x=0;
img_mc.y=0;
var kh = stage.stageHeight/img_mc.height;
var kw = stage.stageWidth/img_mc.width;
var kWH2 = stage.stageWidth/stage.stageHeight;
if (kWH2>=kWH)
{
img_mc.width=stage.stageWidth;
img_mc.height=img_mc.height*kw;
sp.verticalScrollPolicy='true';
}
else
{
img_mc.width=img_mc.width*kh;
img_mc.height=stage.stageHeight;
}
sp.update();
sp.setSize(stage.stageWidth, stage.stageHeight);
}

}

}