Элемент управления statictext — КиберПедия 

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Элемент управления statictext

2021-05-27 24
Элемент управления statictext 0.00 из 5.00 0 оценок
Заказать работу

Упомянут для полноты освещения. О нем нечего сказать к тому, что было сказано раньше.

 

Элемент управления 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.