Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Возможна ли рисование границ строк в многострочном TextField? (http://www.flasher.ru/forum/showthread.php?t=138754)

kichSman 15.04.2010 14:17

Возможна ли рисование границ строк в многострочном TextField?
 
Собственно вопрос кажется не сложным, но когда взялся за его реализацию встал в тупик.

Есть многострочный TextField, т.е. тот, у которого установлены
Код AS1/AS2:

txt.wordWrap = true;
txt.multiline = true;

Так вот, хочется программным путем нарисовать нижнюю границу у каждой строки этого поля, чтобы получилось как будто тетрадка в линейку.

Помогите с вариантами решения данной задачи.

in4core 15.04.2010 15:00

Идейно никак. Но есть обходные пути. Например текст у тебя находится на координатах 20*20. Вычисляешь. И программно начинаешь рисовать линии дублируя их, от 20 с интервалом = расстоянию между строками файлда. Можно также нарисовать линию вручную и через аттач сделать тоже самое.

Волгоградец 15.04.2010 15:02

Самый простой вариант - использовать htmlText с подчеркиванием. А по правильному - надо у каждой линии брать TextLineMetrics методом getLineMetrics(), находить baseline и чертить нужную линию.

in4core 15.04.2010 15:07

Я же предложил отличный вариант с аатачем! Лучше не придумаешь и быстрее

kichSman 15.04.2010 15:09

Цитата:

Сообщение от Волгоградец (Сообщение 900741)
Самый простой вариант - использовать htmlText с подчеркиванием. А по правильному - надо у каждой линии брать TextLineMetrics методом getLineMetrics(), находить baseline и чертить нужную линию.

А разве это возможно на AS2 тем более, в Macromedia 8?

Добавлено через 4 минуты
Цитата:

Сообщение от in4core (Сообщение 900745)
Я же предложил отличный вариант с аатачем! Лучше не придумаешь и быстрее

Уже пробовал способом программного рисования через вычисление координатов, но проблема сразу появляется в том, что когда строк оченьььь много, то при отклонении координатов рисуемых линий даже на 0,1 пиксель, то самый низ съезжает довольно значительно.

Кстати, аттач не очень хороший вариант в плане веса, проще на родительском классе нарисовать через цикл

Tahion 15.04.2010 15:14

Возможно.

А можно просто после каждой строки рисовать линию т.е после значительного изменения textHeight. В координатах новой линии но придется текст порциями как бы добавлять).

Ноо вообще вариант Волгоградец не сложный и лучший только расстояние между линиями одинаковое поэтому размер линии и лайн спейсинг нужно всего 1 раз замерить а не каждый раз


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

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