Руководство по actionscript. часть 4, стр. 091
// Данный код всегда помещает полосу прокрутки справа от поля.
scrollTrack. х = t. x + t. width;
scrollTrack. y = t. y;
scrollTrack. height = t. height;
scrol lTrack. width = scrollbarWidth;
// Проверяем количество видимых на экране строк текстового поля
var numVisibleLines:int = t. bottomScrollV — (t. scrol1V-1);
// Если часть строк в текстовом поле не видна на экране…
if (numVisibleLines < t.numlines) { // ...отображаем ползунок scrolithumb.visible = true; // теперь устанавливаем размеры ползунка // высота ползунка определяется процентным соотношением // отображаемых строк, умноженным на высоту текстового поля var thumbheight:int = math.floor(t.height *
(numVi siblel_i nes/t. numLi nes)); // Высота ползунка не должна быть меньше значения minimumThumbHeight scrolIThumb. height = Math. max(minimumThumbHeight, thumbHeight); scrolIThumb. width = scrollbarWidth;
// Теперь устанавливаем позицию ползунка scrollThumb. x = t. x + t. width;
// Вертикальная позиция ползунка определяется количеством // прокрученных строк в поле, выраженным в процентах и умноженным // на высоту «пространства полосы» (это высота // полосы прокрутки за вычетом высоты ползунка), scrolIThumb. y = t. y + (scrollTrack. height-scrolIThumb. height) * ((t. scrol 1V-D/U. maxScrol 1V-D);
} else { •
// Если в данный момент на экране отображаются все строки текстового // поля, прячем ползунок полосы прокрутки scrolIThumb. visible = false;
}
// Устанавливает вертикальную позицию прокрутки текстового поля // в соответствии с относительной позицией ползунка public function synchTextToScrolIThumb ( ):void {
var scrolIThumbMaxY:Number = t. height-scrollThumb. height;
var scrolIThumbY:Number = scrolIThumb. y-t. у;
t. scrolIV = Math. round(t. maxScrolIV
* (scrol1ThumbY/scrol1ThumbMaxY));
}
// Выполняется, когда пользователь нажимает основную кнопку мыши // над ползунком
private function mouseDownListener (e:MouseEvent):void { // Начинаем операцию перетаскивания ползунка. (Метод startDrag( ) // наследуется из класса Sprite.) var bounds:Rectangle = new Rectangle(t. x + t. width,
t. y.