Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лк - Стили компонентов TextFormat.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
128 Кб
Скачать

Лабораторная работа №11 Стили компонентов

Стиль задает внешний вид компонента. Во Flash есть возможность как задавать индивидуальные стили компонентам, так и применять стиль (стили) к группам компонентов.

Стиль компоненту можно задать при помощи метода setStyle(), который присутствует у каждого компонента и наследуется от класса UIComponent. Этот метод может вызываться многократно, для задания значений тех или иных параметров. Базовый синтаксис вызова метода:

<имя_экземпляра_компонента>.setStyle(<имя_свойства>,

<значение_свойства>);

имя_свойства – это строка, задающая имя свойства стиля, значение которого мы хотим задать. Список свойств стиля зависит от типа компонента. Все компоненты имеют разный набор свойств стиля. Напомним, что строки во Flash берутся в кавычки.

значение_свойства – объект класса Object, содержащий значение свойства. Поскольку все остальные классы во Flash являются наследниками класса Object, то значением этого свойства может быть любая переменная любого класса.

Отменить применение стиля к компоненту можно, используя метод clearStyle:

<имя_экземпляра_компонента>.clearStyle();

Задание стиля текста для компонента на основе объекта класса TextFormat

Класс TextFormat применяется как контейнер, объединяющий в себе все стили шрифта. Используя объект этого класса, можно применить стиль шрифта к любому компоненту, содержащему текст или к текстовому полю.

Чтобы создать новый стиль шрифта, нужно создать объект этого класса:

import flash.text.TextFormat;

var myformat:TextFormat = new TextFormat();

Объект класса TextFormat – это контейнер для 20 настроек стиля шрифта и ряда других свойств. Один и тот же стиль, хранимый в объекте класса TextFormat, можно применить к тексту в нескольких различных полях и к тексту, размещенному в компонентах. В примере выше класс TextFormat импортирован в программу. Рассмотрим основные свойства этого класса.

1. font – это свойство задает шрифт для текста. В качестве значения этому свойству нужно присваивать строку, содержащую имя шрифта в системе, например:

myformat.font = “Georgia”;

или

myformat.font = “BetinaScriptC”;

Выбранный шрифт должен быть установлен в системе. Имена шрифтов должны быть указаны такими, какими они используются в системе. Эти имена можно посмотреть, например, в соответствующем списке в программе Miscrosoft Word или в приложении «Таблица символов» (Пуск –Стандартные – Служебные – Таблица символов).

По умолчанию значение этого свойства равно null, что соответствует использованию шрифта Timer New Roman.

2. bold. bold = true – полужирное начертание, bold = false – светлое. По умолчанию используется значение null, что соответствует светлому начертанию.

3. italic. то же самое для курсива.

4. underline, то же самое для подчеркивания. Этот элемент оформления шрифта желательно использовать только в ссылках.

5. size – величина кегля шрифта в пикселях. умолчанию используется значение null, что соответствует значению 12 пикселей.

6. letterSpacing – количество пикселей, добавляемое после вывода каждого знака. Если этому свойству задано отрицательное значение, то расстояние между всеми символами уменьшается на одну и ту же величину. По сути это – трекинг. умолчанию используется значение null, что соответствует значению 0.

7. kerning – значение этого свойства имеет логический тип. Если kerning равен true, то включается автоматический кернинг, если false, то автокернинг отключен. умолчанию используется значение null, что соответствует отключенному автокернингу. К моноширинным (например, Courier New) шрифтам кернинг не применяется.

8. bullet – логическое свойство, если его значение равно true, то каждая строка в поле будет являться элементом списка, и в ее начале будет размещен маркер списка, в противном случае текст не будет восприниматься как список. По умолчанию значение этого свойства не определено (null), что соответствует отключенному маркеру списка.

9. align – выключка. Возможнее значения:

TextFormatAlign.LEFT

TextFormatAlign.RIGHT

TextFormatAlign.CENTER

TextFormatAlign.JUSTIFY

TextFormatAlign – это класс, содержащий настройки выравнивания текста. Чтобы не возникло проблем с его использованием, его лучше импортировать:

import flash.text.TextFormatAlign;

10. blockIndent – величина отступа от левой границы поля в пикселях для всего текстового блока. По умолчанию это свойство не задано (null), что соответствует значению 0.

11. indent – величина «красной строки» в пикселях. Это свойство может принимать положительные и отрицательные значения. Отрицательное значение будет действовать только тогда, когда оно не приведет к выходу текста за границы поля. По умолчанию свойство не задано (null), что соответствует значению 0.

12. leading – число, задающее интерлиньяж. Начиная с Плеера версии 8 поддерживается отрицательное значение интерлиньяжа. По умолчанию свойство не задано (null), что соответствует значению 0.

13. leftMargin – величина отступа от левой границы в пикселях. Только тогда, когда значение этого параметра превышает 0, можно задавать отрицательные отступы для «красной строки». Аналогичным свойством является rightMargin. По умолчанию свойство не задано (null), что соответствует значению 0.

14. color – цвет символов, в формате 8 битной записи в RGB, например 0xFF0000 – красный цвет символов.

Пример. Применение пурпурного цвета

myformat.color = 0xFF00FF;

15. url – гиперссылка, которая будет ассоциирована с текстовым полем. В гиперссылке обязательно должен быть указан протокол. Тип этого свойства – строковый. Совместно с этим свойством как правило задается значение свойству target. Оно может принимать одно из четырех значений: “_blank”, “_self” (по умолчанию), “_top” (загрузка в верхний фрейм иерархии), “_parent” (загрузка в родительский к данному фрейм). По умолчанию значение этих свойств равно null (гиперссылки не заданы).

Конструктор этого класса имеет 13 необязательных параметров.

public TextFormat(font, size, color, bold, italic, underline, url, target, align, leftMargin, rightMargin, indent, leading)

Чаще всего используются первые 3-5 параметров, остальные параметры задаются вручную в случае необходимости.

Чтобы применить к компоненту стиль шрифта, сохраненный в объекте класса TextFormat, нужно в качестве параметра метода setStyle использовать строку «TextFormat», а в качестве второго параметра передать ссылку на объект класса TextFormat.

Пример. but – это экземпляр компонента Button, textA – экземпляр компонента TextArea (области с текстом).

import flash.text.TextFormat;

import flash.text.TextFormatAlign;

// создание стиля текста

var myformat:TextFormat = new TextFormat();

// создание стиля текста

myformat.font = "BetinaScriptC"; // задание шрифта стиля

myformat.size = 14;

myformat.align = TextFormatAlign.RIGHT;

myformat.color = 0xFF00FF;

// применение стиля текста к компоненту

but.setStyle("textFormat", myformat);

textA.setStyle("textFormat", myformat);

После выполнения этого кода можно заметить следующую особенность: к тексту, расположенному на кнопке, не применяется выравнивание.

Замечание. Компоненты кроме имени стиля «textFormat», применяемого к тексту компонента, находящегося в активном состоянии, имеют стиль «disabledTextFormat», который используется для отображения текста в случае, если компонент неактивен (enabled = false). По умолчанию в этом случае используется следующий стиль текста:

TextFormat("_sans", 11, 0x999999, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0).

Еще один стиль, связанный с отображением текста в компоненте – это стиль «embedFonts», значением которого является булева величина (true или false). Если значение этого свойства равно false (по умолчанию) , то для отображения текста в поле или на компоненте используется системные шрифты, если же значение этого свойства равно true, то в этом случае для выполнения той же задачи должны использоваться шрифты, встроенные в swf-фильм. Если значение этого свойства true, а указанный шрифт не встроен в фильм, то текст на компоненте не будет отображаться.