Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2021-05-27 | 24 |
5.00
из
|
Заказать работу |
|
|
Упомянут для полноты освещения. О нем нечего сказать к тому, что было сказано раньше.
Элемент управления edittext
Был рассмотрен ранее. Он используется для получения данных от пользователя. По умолчанию вводится одна строка, и есть полезное свойство multiline, позволяющее вводить несколько строк.
var myWindow = new Window ("dialog", "Multiline");
var myText = myWindow.add ("edittext", [0, 0, 150, 70], "", {multiline: true });
myText.active = true;
myWindow.show ();
Второй параметр элемента управления edittext — размер окна [Xлв Yлв Ширина Высота] (обратите внимание, что формат описания окна отличен от того, что принят в программе InDesign.)
При вводе чисел (перевод строки Crtl+Enter) при переполнении окна становится активной полоса прокрутки.
{/У этого элемента есть еще одно интересное свойство: noecho, по умолчанию установленное в False. Если его установить в true:
var paswrd = myInput ();
function myInput ()
{
var myWindow = new Window ("dialog", " Введите пароль:",undefined,{closeButton: false});
var myText = myWindow.add ("edittext", [0, 0, 170, 20], "", {noecho: true});
var myButtonGroup = myWindow.add ("group");
myButtonGroup.add ("button", undefined, "OK");
myButtonGroup.add ("button", undefined, "Cancel");
if (myWindow.show () == 1)
return myText.text;
else
exit ();
}
то вводимый текст в поле ввода не будет отображаться. Это можно использовать для создания скрипта, запрашивающего пароль./}
Хотя этот инструмент для ввода данных называется так многообещающе — редактируемый текст (edittext) — возможности инструмента в скриптах для InDesign ограничены. Не предусмотрено средств для ввода чисел, единиц измерения и пр. Если надо указывать единицы измерения, это надо делать самим. Пример работы ввода размеров можно найти в скрипте помещения сносок на внешнем поле страницы http://www.kahrel.plus.com/indesign/sidenotes.html
|
http://adobeindesign.ru/2009/06/06/dinamicheskie-sidenotes-cs4/
В Windows есть проблема отображения текста в окне, заключающаяся в том, что если предусмотрен выбор текста (.active = true), этот текст иногда отображается некорректно:
var w = new Window ("dialog");
var e = w.add ("edittext", undefined, "abcdefghijklmnopqrstuvwxyz");
e.active = true;
w.show();
Видно, что размер поля для текста скрипт создал верно, но текст в этом поле размещен неправильно.
Для исправления ситуации надо в скрипт добавить строку (выделена зеленым):
w = new Window ("dialog");
e = w.add ("edittext", undefined, "abcdefghijklmnopqrstuvwxyz");
w.layout.layout();
e.active = true;
w.show();
Позже функция layout() будет рассмотрена более детально.
Пример: живая прокрутка
Можно захотеть иметь скрипт для отображения текста, но стандартная функция display() имеет ограничения и не приспособлена работы с большими текстами. Однако нетрудно написать свой метод создания окна с прокруткой.
Дополнительно преимущество состоит в том, что можно копировать текст из окна и вставлять в окно.
// создадим пример массива
array = [];
for (i = 0; i < 150; i++)
array.push ("Строка " + String (i));
alert_scroll ("Пример", array);
function alert_scroll (title, input) // string, string/array
{
// если входной параметр -- массив, преобразуем его в строку
if (input instanceof Array)
input = input.join ("\r");
var w = new Window ("dialog", title);
var list = w.add ("edittext", undefined, input, {multiline: true, scrolling: true });
// Список не должен быть больше максимально возможной высоты окна
list.maximumSize.height = w.maximumSize.height - 750; // << эта строка определяет высоту прокручиваемого окна
list.minimumSize.width = 150;
w.add ("button", undefined, "Закрыть", {name: "ok"});
w.show ();
}
Эта функция имеет один недостаток — при работе с большими массивами заметно время их обработки.
Элемент управления button
Нажимаемые кнопки
Можно использовать различные типы кнопок. Ранее были рассмотрены стандартные нажимаемые кнопки ОК и Cancel, часто используемые в окнах
var w = new Window ("dialog");
w.add ("button", undefined, "OK");
w.add ("button", undefined, "Cancel");
w.show ();
По умолчанию щелчок на клавише ОК эквивалентен нажатию на клавишу Enter, а щелчок на Cancel — на клавишу ESC. И такая работа скрипта будет, если названия этих кнопок будут именно так названы.
|
После щелчка на кнопке ‘Переключить в верхний регистр’ буквы станут прописными. Это простой пример, но функции, вызываемые событием onClick могут быть любой сложности. (есть несколько других откликов на события /в оригинале callback /, с которыми мы познакомимся позднее.)
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!