ОБЪЕКТЫ ИНТЕРФЕЙСА
Каждому объекту интерфейса в OpenEdge ABL присущ набор атрибутов, событий и методов. Каждому событию может быть назначен программный код - триггер, выполняемый по наступлению данного события.
Сразу оговоримся, что здесь мы рассматриваем только атрибуты, события и методы доступные в UNIX CHUI.
Допустим, мы хотим разместить в окне кнопку. Надпись на кнопке, координаты ее местоположения в окне – это атрибуты кнопки, определяющие ее визуальные свойства. Нажатие данной кнопки пользователем - это событие, а программный код, который при этом будет автоматически выполнен - это триггер.
Триггеры событий объектов описываются следующим образом:
ON event OF object-name
DO:
... (тело триггера)
END.
event – событие объекта;
object-name – имя объекта.
Для программной инициализации событий объектов интерфейса:
APPLY event TO object-name.
По способу определения, объекты интерфейса разделяются на: статические - объявленные оператором DEFINE и динамические - создаваемые в процессе выполнения программного кода посредством оператора CREATE.
FRAME (ФРЕЙМ)
Frame представляет собой прямоугольную область, являющуюся контейнером для размещения различных объектов интерфейса, таких как: поле ввода (FILL-IN), кнопка (BUTTON), таблица (BROWSE) и т.д.
DEFINE {[NEW] SHARED] | [PRIVATE] FRAME frame
[form-item ...]
[{HEADER | BACKGROUND} head-item ...]
{[frame-phrase]}
frame - идентификатор фрейма;
form-item - идентификатор элемента интерфейса, располагаемый во фрейме;
Элементами интерфейса являются: константы, переменные, поля таблиц, различные объекты интерфейса (например, кнопка), пробел и перевод строк.
frame-phrase - определяет параметры фрейма:
WITH [ACCUM [max-length]]
[at-phrase] [ATTR-SPACE | NO-ATTR-SPACE]
[CANCEL-BUTTON button-name] [CENTERED]
[color-specification]
[COLUMN expression] [n COLUMNS]
[CONTEXT-HELP] [CONTEXT-HELP-FILE help-file-name]
[DEFAULT-BUTTON button-name]
[DROP-TARGET]
[[expression] DOWN] [EXPORT]
[WIDGET-ID id-number] [FONT expression]
[FRAME frame]
[INHERIT-BGCOLOR | NO-INHERIT-BGCOLOR]
[INHERIT-FGCOLOR | NO-INHERIT-FGCOLOR]
[KEEP-TAB-ORDER] [NO-BOX]
[NO-HIDE] [NO-LABELS] [USE-DICT-EXPS]
[NO-VALIDATE] [NO-AUTO-VALIDATE]
[NO-HELP] [NO-UNDERLINE]
[OVERLAY] [PAGE-BUTTON | PAGE-TOP] [RETAIN n]
[ROW expression] [SCREEN-IO | STREAM-IO]
[SCROLL n] [SCROLLABLE] [SIDE-LABELS]
[size-phrase][STREAM stream | STREAM-HANDLE handle] [THREE-D]
[title-phrase] [TOP-ONLY] [USE-TEXT]
[V6FRAME [USE-REVVIDEO] | [USE-UNDERLINE]]
[VIEW-AS DIALOG-BOX] [WIDTH n] [IN WINDOW window]
at-phrase - определяет местоположение фрейма в окне или внутри родительского фрейма:
AT { COLUMN column ROW row
| X x Y y
}
Позиция фрейма определяется положением его верхнего левого угла. Положение угла может быть задано как посредством указания порядковых номеров колонки и строки (единицей измерения является печатный символ), так и координатами (X,Y) определяемых пикселами.
CENTERED - центрует положение фрейма по горизонтали. При этом, значение, определяющее положение фрейма по горизонтали, заданное посредством COLUMN или X, если оно было определено в AT, игнорируется.
size-phrase - определяет размеры фрейма:
{SIZE | SIZE-CHARS | SIZE-PIXELS } width BY height
Размер фрейма определяется его шириной width и высотой height, значения которых могут быть заданы либо в печатных символах {SIZE | SIZE-CHARS}, либо в пикселах SIZE-PIXELS.
NO-BOX - по умолчанию, фрейм имеет окантовку. Данная опция выводит фрейм без окантовки.
title-phrase - заголовок фрейма:
TITLE [ { [BGCOLOR expression]
[DCOLOR expression]
[FGCOLOR expression]
}
| COLOR color-phrase
]
[FONT expression ] title-string
title-string - текстовая константа или выражение, значение которых определяет заголовок фрейма.
OVERLAY - указывает на то, что фрейм должен выводится поверх других фреймов, кроме тех, в которые объявлены с опцией TOP-ONLY.
TOP-ONLY - данная опция указывает на то, что фрейм всегда будет выведен поверх других фреймов, даже если они объявлены с опцией OVERLAY.
Во фрейме так же могут быть размещены записи таблиц:
DEFINE {[NEW] SHARED] | [PRIVATE]} FRAME frame
record [EXCEPT field ...]
{[frame-phrase]}
record - буфер записи;
EXCEPT field ... - список полей записи, исключаемых из вывода во фрейме, с разделителем пробел.
Основные атрибуты FRAME:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
COLUMN | DECIMAL | чтение/запись | Столбец левого верхнего угла фрейма в окне |
ROW | DECIMAL | чтение/запись | Строка левого верхнего угла фрейма в окне |
CENTERED | LOGICAL | чтение/запись | Размещает Фрейм в центре по горизонтали. По умолчанию имеет значение FALSE |
DOWN | INTEGER | чтение/запись | Используется совместно с CENTERED и определяет вертикальное положение фрейма, кол-во строк сверху. |
LABELS | LOGICAL | чтение | |
SIDE-LABELS | LOGICAL | чтение/запись | Метки (LABEL) объектов внутри фрейма располагаются слева от объектов. |
BOX | LOGICAL | чтение/запись | Окантовка фрейма. При значении FALSE аналогичен NO-BOX |
NO-BOX | LOGICAL | чтение/запись | По умолчанию фрейм имеет окантовку, указание данного атрибута снимает эту окантовку. Не может использоваться совместно с атрибутом TITLE. |
TITLE | CHARACTER |
чтение/запись | Атрибут TITLE используется для указания подписи Фрейма (заголовка) по центру в верхней части окантовки. Использование данного атрибута совместно с атрибутом NO-BOX не представляется возможным. |
OVERLAY | LOGICAL | чтение/запись | Поверх других |
SCROLLABLE | LOGICAL | чтение/запись | Возможность вертикальной прокрутки. |
SENSITIVE | LOGICAL | чтение/запись | Отражает активность фрейма, т.е. его возможность принимать управление, реагировать на события. |
SIZE N BY M | DECIMAL | чтение/запись | Размер фрейма, выраженный в символах, где N – размер по горизонтали, а M – по вертикали. Значения N и M могут быть как целочисленными, так и дробными |
HIDDEN | LOGICAL | чтение/запись | Объект TRUE - скрыт; FALSE - нет. |
VISIBLE | LOGICAL | чтение/запись | Объект TRUE - видим; FALSE - нет |
DCOLOR | INTEGER | чтение/запись | Определяет цвет объекта вне фокуса. |
PFCOLOR | INTEGER | чтение/запись | Определяет цвет объекта в фокусе. |
TITLE-DCOLOR | INTEGER | чтение/запись | Определяет цвет фона заголовка. |
События FRAME:
Событие | Описание |
ENTRY | Фокусировка объекта |
LEAVE | Снятие фокусировки объекта |
Методы FRAME:
ENABLE ALL WITH FRAME frame.
Устанавливает значение атрибута SENSITIVE всех объектов во фрейме в TRUE.
DISABLE ALL WITH FRAME frame.
Устанавливает значение атрибута SENSITIVE всех объектов во фрейме в FALSE.
BUTTON (КНОПКА)
Синтаксис:
DEF [PRIVATE] BUTTON button-name
[AUTO-GO | AUTO-ENDKEY]
[DEFAULT]
[BGCOLOR expression]
[CONTEXT-HELP-ID expression]
[DCOLOR]
[DROP-TARGET]
[FGCOLOR expression]
[FONT number]
[LABEL label]
[LIKE button]
[size-phrase]
[NO-FOCUS [FLAT-BUTTON]]
{[triget-phrase]}
.
button-name – идентификатор кнопки.
AUTO-GO | AUTO-ENDKEY - указывает на то, что при нажатии на кнопку, AVM автоматически будет инициировано событие GO или ENDKEY для фрейма.
DEFAULT -
CONTEXT-HELP-ID expression - определяет целочисленное значение раздела файла подсказок.
DCOLOR expression - определяет цвет кнопки в CHUI интерфейсе.
LABEL label - надпись на кнопке.
size-phrase - определяет размеры кнопки.
{SIZE | SIZE-CHARS | SIZE-PIXELS} width BY height
Основные атрибуты BUTTON:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
COLUMN | DECIMAL | чтение/запись | Определяет столбец положения верхнего левого угла объекта во фрейме выраженное печатными символами. |
ROW | DECIMAL | чтение/запись | Определяет строку положения верхнего левого угла объекта во фрейме выраженное печатными символами. |
LABEL | CHARACTER | чтение/запись | Надпись на кнопке |
HELP | CHARACTER | чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объект |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла кнопки. |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла кнопки. |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
HIDDEN | LOGICAL | чтение/запись | Объект TRUE - скрыт; FALSE - нет. |
VISIBLE | LOGICAL | чтение/запись | Объект TRUE - видим; FALSE - нет |
DCOLOR | INTEGER | чтение/запись | Определяет цвет объекта вне фокуса. |
PFCOLOR | INTEGER | чтение/запись | Определяет цвет объекта в фокусе. |
События BUTTON:
Событие | Описание |
CHOOSE | Нажатие кнопки |
ENTRY | Фокусировка объекта |
LEAVE | Снятие фокусировки объекта |
Методы BUTTON:
MOVE-AFTER [-TAB-ITEM] () -
MOVE-BEFOR [-TAB-ITEM] () -
Пример button_1:
DEF BUTTON button_ok LABEL "OK".
DEF BUTTON button_cancel LABEL "Cancel".
DEF FRAME frame1 button_ok
button_cancel
WITH CENTERED.
ENABLE ALL WITH FRAME frame1.
ON CHOOSE OF button_ok
DO:
MESSAGE "Все работает" VIEW-AS ALERT-BOX INFORMATION
BUTTONS ok.
END.
ON CHOOSE OF button_cancel
DO:
MESSAGE "Выход" VIEW-AS ALERT-BOX INFORMATION
BUTTONS ok.
END.
WAIT-FOR CHOOSE OF button_cancel.
В первых двух строчках мы объявляем две кнопки: одну с именем button_ok и надписью OK, вторую с именем button_cancel и надписью Cancel:
DEF BUTTON button_ok LABEL "OK".
DEF BUTTON button_cancel LABEL "Cancel".
Далее мы объявляем фрейм с именем frame1, в котором располагаются кнопки:
DEF FRAME frame1 button_ok button_cancel WITH CENTERED.
Данный фрейм объявлен с атрибутом CENTERED, что означает, что он будет выведен в центре экрана по горизонтали.
Триггеры событий нажатий кнопок OK и Cancel описаны в следующих блоках:
ON CHOOSE OF button_ok
DO:
MESSAGE "Все работает" VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
END.
ON CHOOSE OF button_cancel
DO:
MESSAGE "Выход" VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
END.
При этом на экран будут выведены соответствующие сообщения: "Все работает" и "Выход" во фреймы с заголовком INFORMATION и кнопкой ОК.
Последний оператор WAIT-FOR используется для предотвращения досрочного завершения программы и завершения ее только после наступления события нажатия кнопки button_cancel. Если не указать этот оператор, то произойдет следующее: на экране будет выведен фрейм с кнопками и, не дождавшись событий on choose of button_ok, программа завершится.
MESSAGE (СООБЩЕНИЯ)
Оператор MESSAGE используется для вывода на экран текста сообщения. Вывод текста сообщения осуществляется либо в нижней строке экрана, либо в окне предупреждений.
MESSAGE
[COLOR color-phrase]
{expression | SKIP [(n)]} ...
[VIEW-AS ALERT-BOX
[alert-type]
[BUTTONS button-set]
[TITLE title-string]
]
[{SET | UPDATE} field
{AS datatype | LIKE field}
[FORMAT string]
[AUTO-RETURN]
]
[IN WINDOW window]
expression - текстовая константа или выражение определяющее текст сообщения.
MESSAGE "Минуточку... ".
SKIP(n) - добавляет n символов перевода строки в сообщении. Данная опция может применяться только совместно с опцией VIEW-AS ALERT-BOX.
ALERT-BOX - вывод сообщения осуществляется в окне предупреждений с кнопкой "OK" по умолчанию.
alert-type - тип окна предупреждения. Возможные значения типов: INFORMATION (Информация), QUESTION (вопрос), MESSAGE (сообщение), WARNING (предупреждение) и ERROR (ошибка).
BUTTONS button-set - определяет комбинацию кнопок окна предупреждения.
Возможны следующие комбинации кнопок: OK, OK-CANCEL, YES-NO, YES-NO-CANCEL RETRY-CANCEL.
Для определения выбора пользователя (нажатия той или иной кнопки) и последующей обработки события используется переменная логического типа, которая указывается с помощью оператора SET. Данная переменная может быть как объявленной ранее, так и объявленной непосредственно в операторе MESSAGE.
DEF VAR lRes AS LOGICAL NO-UNDO.
DEF VAR cText AS CHAR FORMAT "x(25)" NO-UNDO.
MESSAGE "Вам кофе с сахаром?" VIEW-AS ALERT-BOX QUESTION
BUTTONS YES-NO.
SET lRes.
IF lRes THEN
cText = "Ваш кофе с сахаром!".
ELSE
cText = "Ваш кофе без сахара!".
DISPLAY cText WITH COL 30 ROW 7 NO-LABEL.
Если объявлена комбинация кнопок YES-NO-CANCEL, то при нажатии кнопки CANCEL логической переменной присваивается неизвестное значение - ?.
DEF VAR lRes AS LOGICAL NO-UNDO.
Def var cText AS CHAR FORMAT "x(25)" NO-UNDO.
MESSAGE "Вам кофе с сахаром?" VIEW-AS ALERT-BOX QUESTION
BUTTONS YES-NO.
SET lRes.
IF lRes THEN
cText = "Ваш кофе с сахаром".
IF lRes = FALSE THEN
cText = "Ваш кофе без сахара".
IF lRes = ? THEN
cText = "Вы отказались от кофе".
DISPLAY cText WITH COL 30 ROW 7 NO-LABEL.
TITLE title-string - задает заголовок окна предупреждения. Если определен тип окна предупреждения, то по умолчанию, заголовок будет соответствующим этому типу.
VIEW-AS ОБЪЕКТЫ
Объекты VIEW-AS представляют собой визуальные объекты ввода и изменения значений переменных различных типов данных.
Синтаксис:
DEF VAR I AS var-type VIEW-AS object-type main-object-attribute.
Здесь объявляется переменная I типа var-type представленной в виде объекта object-type. Существуют следующие типы таких объектов:
- TOGGLE-BOX (Логический объект);
- FILL-IN (Ввод значения переменной);
- EDITOR (Поле ввода);
- SELECTION-LIST (Список выбора);
- COMBO-BOX (Выпадающий список);
- RADIO-SET (Объект выбора);
- SLIDER (Ползунок);
- TEXT (Текст).
main-object-attribute – обязательные атрибуты объекта. Собственные же атрибуты объекта могут быть объявлены только непосредственно во фрейме при объявлении в нем объекта или же в коде программы посредством:
var-name:object-attribute = attribute-argument .
где:
var-name – идентификатор переменной с которой связан объект;
object-attribute – атрибут объекта;
attribute-argument – значение атрибута.
Объекты VIEW-AS как уже говорилось строятся на основе переменной, которые по своей сути тоже обладают атрибутами. Следовательно, должна быть следующая возможность объявления таких объектов:
DEF VAR I AS var-type var-attribute VIEW-AS object-type main-object-attribute.
где, var-attribute – атрибуты переменной.
Возможность такая конечно же есть, но объектом будут отработаны только те атрибуты переменной которыми может обладать сам объект. Например, объект EDITOR не имеет в списке доступных атрибутов атрибут FORMAT, поэтому если его указать в качестве атрибута переменной ошибки это не вызовет, но и объектом он отработан не будет.
Вводимые пользователем данные в объекты VIEW-AS являются по своей сути экранным буфером так называемым SCREEN-VALUE (атрибутом объектом), а не самим значением переменной. Присвоение же самой переменной значения данного буфера осуществляется оператором ASSIGN.
Хотя атрибут переменной INITIAL (начальное значение) и не входит в список атрибутов ни одного объекта VIEW-AS и указание его изначально не приведет ни к какому результату, добиться отображения начального значения в данных объектах все-таки можно. Для этого необходимо атрибуту объекта SCREEN-VALUE (экранному буферу) присвоить значение переменной предварительно объявив атрибут переменной INITIAL:
ASSIGN i:SCREEN-VALUE = i.
TOGGLE-BOX (ЛОГИЧЕСКИЙ ОБЪЕКТ)
TOGGLE-BOX - это логический объект и определяется логической переменной. Значение данной переменной зависит от атрибута данного объекта Checked, т.е. от наличия или отсутствия установленного пользователем выбора данного объекта.
Синтаксис:
DEF VAR I AS LOGICAL VIEW-AS TOGGLE-BOX.
Основные атрибуты TOGGLE-BOX:
Атрибут |
Аргумент | Тип атрибута (чтение/запись) |
Описание |
CHECKED |
LOGICAL | чтение/запись | Определяет признак отмечен объект или нет. |
VISIBLE |
LOGICAL | чтение/запись | Объект TRUE - видим; FALSE - нет. |
HIDDEN |
LOGICAL | чтение/запись | Объект TRUE - скрыт; FALSE - нет. |
LABEL |
CHARACTER | чтение/запись | Надпись (метка). |
HELP |
CHARACTER | чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
SENSITIVE | LOGICAL | чтение/запись | Определяет возможность объекта быть в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объекта. |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X - координата положения во фрейме левого верхнего угла объекта. |
FRAME-Y | INTEGER | чтение | Y - координата положения во фрейме левого верхнего угла объекта. |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER | чтение/запись | Определяет цвет объекта всего объекта, включая и LABEL. |
PFCOLOR | INTEGER | чтение/запись | Определяет цвет непосредственно рабочей части объекта. |
События TOGGLE-BOX:
Событие | Описание |
VALUE-CHANGED | Изменение значения |
ENTRY | Фокусировка объекта |
LEAVE | Снятие фокусировки объекта |
Методы TOGGLE-BOX:
Метод | Описание |
Пример toggle-box_1:
DEF VAR i AS LOGICAL LABEL "переменная" VIEW-AS TOGGLE-BOX.
DEF FRAME frame1 i WITH ROW 5 CENTERED.
ENABLE i WITH FRAME frame1.
ON VALUE-CHANGED OF i
DO:
ASSIGN i.
IF i = TRUE THEN
MESSAGE "Отмечено"
VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
END.
WAIT-FOR CLOSE OF THIS-PROCEDURE.
При наступлении события ON VALUE-CHANGED OF i (т.е. изменения значения атрибута CHECKED сопоставленного TOGGLE-BOX’а) присваивается значение переменной i командой ASSIGN i и если значение i равно TRUE/YES тогда выводится сообщение «Отмечено».
FILL-IN (ВВОД ЗНАЧЕНИЯ ПЕРЕМЕННОЙ)
FILL-IN, представляет собой поле ввода значения переменной любого типа. Таким объектом является сама переменная во фрейме, в котором и указываются атрибуты FILL-IN как визуального объекта, либо переменная объявленная с использованием VIEW-AS FILL-IN.
Синтаксис:
DEF VAR I AS VIEW-AS FILL-IN.
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
VISIBLE | LOGICAL | чтение/запись | Объект TRUE - видим; FALSE - нет. |
HIDDEN | LOGICAL | чтение/запись | Объект TRUE - скрыт; FALSE - нет. |
LABEL | CHARACTER | чтение/запись | Надпись (метка) |
NO-LABEL |
LOGICAL | чтение/запись | Без метки |
SCREEN-VALUE | CHARACTER | чтение/запись | Экранное значение объекта |
HELP | CHARACTER | чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объект |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объект во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла объекта |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла объекта |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER | чтение/запись | Определяет цвет всего объекта, включая и LABEL. |
FCOLOR | INTEGER | чтение/запись | Определяет цвет непосредственно рабочей части объекта. |
События FILL-IN :
Событие | Описание |
ENTRY | Фокусировка объекта |
LEAVE | Снятие фокусировки объекта |
VALUE-CHANGED | Изменение значения |
Пример fill-in_1:
DEF VAR i1 AS DEC VIEW-AS FILL-IN.
DEF VAR i2 AS DEC VIEW-AS FILL-IN.
DEF BUTTON bt_ok LABEL "=".
DEF FRAME frame1 i1
"+"
i2
bt_ok AT ROW 3 COL 20
WITH CENTERED.
i1:HELP = "Слагаемое1".
i2:HELP = "Слагаемое2".
ON LEAVE OF i1 ASSIGN i1.
ON LEAVE OF i2 ASSIGN i2.
ON CHOOSE OF bt_ok DISPLAY i1 + i2.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF bt_ok.
В данном примере объявлены два объекта FILL-IN i1 и i2:
DEF VAR i1 AS DEC VIEW-AS FILL-IN.
DEF VAR i2 AS DEC VIEW-AS FILL-IN.
с атрибутами HELP:
i1:HELP = "Слагаемое1".
i2:HELP = "Слагаемое2".
Теперь посмотрим, как объекты FILL-IN могут быть получены путем объявления во фрейме переменных. Т.е сначала объявляются переменные, а потом они включаются во фрейм, тем самым, превращаясь в объекты FILL-IN.
Пример fill-in_2:
DEF VAR i1 AS DEC NO-UNDO.
DEF VAR i2 AS DEC NO-UNDO.
DEF BUTTON bt_ok LABEL "=".
DEF FRAME frame1 i1 FORMAT ">>9.99"
HELP "Слагаемое1"
"+"
i2 FORMAT ">>9.99"
HELP "Слагаемое2"
bt_ok AT ROW 3 COL 20
WITH CENTERED.
ON LEAVE OF i1 ASSIGN i1.
ON LEAVE OF i2 ASSIGN i2.
ON CHOOSE OF bt_ok DISPLAY i1 + i2.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF bt_ok.
Пример fill-in_3:
DEF VAR i1 AS DEC FORMAT ">>9.99" NO-UNDO.
DEF VAR i2 AS DEC NO-UNDO.
DEF BUTTON bt_ok LABEL "=".
DEF FRAME frame1 i1 HELP "Слагаемое1"
"+"
i2 HELP "Слагаемое2"
bt_ok AT ROW 3 COL 20
WITH CENTERED.
i2:FORMAT = ">>9.99".
ON LEAVE OF i1 ASSIGN i1.
ON LEAVE OF i2 ASSIGN i2.
ON CHOOSE OF bt_ok DISPLAY i1 + i2.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF bt_ok.
EDITOR (ПОЛЕ ВВОДА)
EDITOR, представляет собой многострочную область для ввода значения текстовой переменной с которой он ассоциирован. Данное поле ввода может содержать как вертикальный, так и горизонтальный scrollbar.
Синтаксис:
DEF VAR I AS CHAR VIEW-AS EDITOR INNER-CHARS N INNER-LINES M.
где:
- I – Переменная текстового типа с которой ассоциирован EDITOR;
- N и М определяют видимую область EDITOR шириной N символов и высотой M строк.
INNER-CHARS и INNER-LINES аргументами которых являются значения N и M являются обязательными атрибутами EDITOR’а. Т.е. их указание является обязательным при объявлении EDITOR. Без хотя бы одного из этих атрибутов EDITOR объявлен быть не может.
Основные атрибуты EDITOR:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
INNER-CHARS | INTEGER | чтение/запись | Ширина видимой части выраженная в символах |
INNER-LINES | INTEGER | чтение/запись | Высота видимой части выраженная в строках |
VISIBLE | LOGICAL | чтение/запись | Объект TRUE - видим; FALSE - нет. |
HIDDEN | LOGICAL | чтение/запись | Объект TRUE - скрыт; FALSE - нет. |
LABEL |
CHARACTER |
чтение/запись | Надпись (метка). |
SCREEN-VALUE | CHARACTER | чтение/запись | Экранное значение объекта |
VALIDATE | Условие валидации значения | ||
HELP |
CHARACTER |
чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объект |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла рабочей области объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла рабочей области объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла объекта |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла объекта |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER |
чтение/запись | Определяет цвет объекта всего объекта, включая и label. |
PFCOLOR |
INTEGER |
чтение/запись | Определяет цвет непосредственно рабочей части объекта. |
События EDITOR:
Событие | Описание |
ENTRY | Фокусировка объекта |
LEAVE | Снятие фокусировки объекта |
Пример editor_1:
DEF VAR address AS CHAR VIEW-AS EDITOR INNER-CHARS 50
INNER-LINES 2.
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 address NO-LABEL SKIP
btn-exit WITH TITLE "Адрес" AT ROW 7 COL 15.
ON LEAVE OF address
DO:
ASSIGN address.
MESSAGE address VIEW-AS ALERT-BOT INFORMATION
BUTTONS OK
TITLE "Ваш адрес".
END.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF btn-exit.
Аргументы атрибутов FRAME-ROW, FRAME-COL хотя и являются DECIMAL типа, но в текстовой среде (CHUI) могут принимать только целочисленные значения. Если значение данных аргументов являются дробными, они автоматически округляются до целого значения.
Аргументы атрибутов FRAME-X и FRAME-Y в CHUI выражаются печатными символами в отличие от графической среды (GUI), где аргументы данных атрибутов выражаются пикселями.
DEF VAR field1 AS CHAR VIEW-AS EDITOR INNER-CHARS 50
INNER-LINES 2.
DEF FRAME frame1
field1 LABEL "Поле1"
AT ROW 2.1 COL 3.4
DCOLOR 2
WITH SIDE-LABELS.
VIEW FRAME frame1.
DISPL field1:FRAME-X field1:FRAME-COL.
DISPL field1:FRAME-Y field1:FRAME-ROW.
Результат: 10 10.00 2 2.00
Как мы видим в CHUI независимо ни от чего значения аргументов атрибутов FRAME-X и FRAME-COL так же, как и значения аргументов атрибутов FRAME-Y и FRAME-ROW совпадают между собой.
При объявлении объекта мы указали его местоположение по горизонтали равное 3.4 печатных символа. Данное значение было округлено до 3, но при этом возвращенные значения FRAM-X и FRAME-COL являются равными 10. Это связано с тем, что указывая положение объекта во фрейме с помощью атрибутов ROL и СОL мы задаем положение всего объекта включая и LABEL. При этом атрибуты FRAME-X, FRAME-COL и FRAME-Y, FRAME-ROL возвращают положение рабочей части объекта, т.е. в данном случае непосредственно поля ввода без учета LABLE, дописываемого ему автоматически двоеточия и пробела между LABLE и полем ввода.
SELECTION-LIST (ВЫБОР СТРОК)
SELECTION-LIST используется для организации выбора строк, как в SINGLE единичном) режиме, когда выбирается только одна строка из списка, так и в MULTIPLE режиме (множественном), когда можно выбрать несколько строк из представленных.
Синтаксис:
DEF VAR I AS CHAR VIEW-AS SELECTION-LIST select_type LIST-ITEMS "string1","string2",…,"stringN" INNER-CHARS N INNER-LINES M.
Здесь:
- I – Переменная текстового типа с которой ассоциирован selection-list;
- label_name – ярлык переменной;
- select_type – тип выбора строк, может принимать значение SINGLE для единичного выбора и MULTIPLE для множественного. Если тип выбора не указан, то по умолчанию принимается значение SINGLE;
- stringN – строка выбора;
- N – Количество символов в строке определяющее ширину области выбора;
- M – Количество строк определяющее высоту области выбора.
Основные атрибуты SELECTION-LIST:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
LIST-ITEMS | CHARCTER | чтение/запись | Список значений (строк) выбора |
INNER-CHARS | INTEGER | чтение/запись | Ширина видимой части выраженная в символах |
INNER-LINES | INTEGER | чтение/запись | Высота видимой части выраженная в строках |
SINGLE | LOGICAL | чтение/запись | Режим единичного выбора |
MULTIPLE | LOGICAL | чтение/запись | Режим множественного выбора |
VISIBLE | LOGICAL | чтение/запись | Объект TRUE - видим; FALSE - нет. |
HIDDEN | LOGICAL | чтение/запись | Объект TRUE - скрыт; FALSE - нет. |
LABEL |
CHARACTER |
чтение/запись | Надпись (метка). |
SCREEN-VALUE | CHARACTER |
чтение/запись | Экранное значение объекта |
VALIDATE | |||
HELP |
CHARACTER |
чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла |
TAB-POSITION | - | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER |
чтение/запись | Определяет цвет объекта всего объекта, включая и LABEL. |
PFCOLOR |
INTEGER |
чтение/запись | Определяет цвет непосредственно рабочей части объекта. |
События SELECTION-LIST:
Событие | Описание |
VALUE-CHANGED | Изменение значения |
LEAVE | Снятие фокусировки объекта |
ENTRY | Фокусировка объекта |
DEFAULT-ACTION |
Методы SELECTION-LIST :
Метод | Описание |
ADD-FIRST() |
Добавление элемента в начало LIST-ITEMS |
ADD-LAST() | Добавление элемента в конец LIST-ITEMS |
ENTRY | |
DELETE |
Пример selection-list_1:
DEF VAR sel_day AS CHAR VIEW-AS SELECTION-LIST MULTIPLE LIST-ITEMS
"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"
INNER-CHARS 15 INNER-LINES 7.
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 sel_day NO-LABEL
btn-exit AT ROW 12 COL 12
WITH CENTERED NO-UNDERLINE.
ON LEAVE OF sel_day
DO:
ASSIGN sel_day.
MESSAGE "Выбраны дни:" sel_day VIEW-AS ALERT-BOX INFORMATION
BUTTONS OK.
END.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF btn-exit.
При наступлении события LEAVE (снятие фокусировки) SELECTION-LIST оператором ASSIGN sel_day текстовой переменой sel_day присваивается значение выбранных значений. Так как в данном примере объявлен список в режиме multiple (множественный выбор), то при выборе более одного значения переменной присваивается значение, состоящее из всех отмеченных значений разделенных запятой.
В примере selection-list_1 список LIST-ITEMS известен заранее и указан при описание SELECTION-LIST . Иногда возникают такие ситуации когда данный список заранее не известен, например если необходимо использовать в качестве возможных вариантов выбора SELECTION-LIST значений одного из полей таблицы, или например, необходимо иметь возможность изменять данный список в процессе выполнения приложения.
Для решения данной задачи воспользуемся методом ADD-LAST либо ADD-FIRST .
Пример selection-list_2:
DEF VAR addItem AS CHAR NO-UNDO.
DEF VAR listItems AS CHAR VIEW-AS SELECTION-LIST
INNER-CHARS 15 INNER-LINES 7.
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 listItems NO-LABEL SKIP
addItem LABEL "Ввод"
btn-exit AT ROW 12 COL 12
WITH SIDE-LABELS CENTERED NO-UNDERLINE .
ON LEAVE OF addItem IN FRAME frame1
DO:
ASSIGN addItem.
listItems:add-last(addItem).
addItem:SCREEN-VALUE = "".
END.
Таким образом мы имеем изначально пустой SELECTION-LIST - listItems, а так же поле addItem, при покидании поля которого введенное в него значение добавляется в конец списка listItems. Если бы мы вместо метода ADD-LAST использовали метод ADD-FIRST, то новые значения добавлялись в начало списка SELECTION-LIST.
COMBO-BOX (ВЫПАДАЮЩИЙ СПИСОК)
Представляет собой поле ввода данных посредственно выбора из выпадающего списка готовых значений введенных при объявлении COMBO-BOX. COMBO-BOX ассоциируется с переменной которой будет присвоено введенное (выбранное) значение.
Синтаксис:
DEF VAR I AS var_type LABEL label_name VIEW-AS COMBO-BOX LIST-ITEMS "string1","string2",…,"stringN" INNER-LINES M.
где:
- I – Переменная с которой ассоциирован COMBO-BOX;
- var_type – тип переменной I;
- label_name – ярлык переменной;
- stringN – N-ая строка выбора;
- M – Количество строк определяющее высоту области выбора.
Ширина области COMBO-BOX определяется форматом переменной I.
Атрибуты:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
COLUMN | DECIMAL | чтение/запись | Определяет столбец положения верхнего левого угла объекта во фрейме выраженное печатными символами. |
ROW | DECIMAL | чтение/запись | Определяет строку положения верхнего левого угла объекта во фрейме выраженное печатными символами. |
LIST-ITEMS | CHARACTER | чтение/запись | Список значений выбора |
INNER-LINES | INTEGER | чтение/запись | Определяет высоту видимой области объекта |
FORMAT | CHARACTER | чтение/запись | |
SCREEN-VALUE | CHARACTER | чтение/запись | Экранное значение объекта |
SENSETIVE | LOGICAL | чтение/запись | Определяет возможность объекта быть в фокусе. |
LABEL | CHARACTER | чтение/запись | Надпись (метка). |
HELP | CHARACTER | чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. Значение может быть дробным. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. Значение может быть дробным. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
HIDDEN | LOGICAL | чтение/запись | Объект скрыт |
VISIBLE | LOGICAL | чтение/запись | Объект видим |
DCOLOR | INTEGER | чтение/запись | Определяет цвет объекта всего объекта, включая и LABEL. |
PFCOLOR | INTEGER | чтение/запись | Определяет цвет непосредственно рабочей части объекта (окошка отметки). |
События:
Событие | Описание |
VALUE-CHANGED | Изменение значения |
LEAVE | Снятие фокусировки объекта |
ENTRY | Фокусировка объекта |
Пример Combo-box_1:
DEF VAR sel_town AS CHAR FORMAT "x(15)" LABEL "Город:" VIEW-AS COMBO-BOX
LIST-ITEMS "Москва","Самара", "Волгоград", "Екатеринбург", "Смоленск",
"Воронеж", "Саратов", "Калуга" INNER-LINES 3.
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 sel_town btn-exit AT ROW 6 COL 12 WITH CENTERED
NO-UNDERLINE.
ON LEAVE OF sel_town
DO:
ASSIGN sel_town.
MESSAGE "Выбран город:" sel_town
VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
END.
ENABLE ALL WITH FRAME frame1.WAIT FOR CHOOSE OF btn-exit.
Допустим мы хотим чтобы при запуске данного кода COMBO-BOX имел какое-нибудь начальное значение.
Пример Combo-box_2:
DEF VAR sel_town AS CHAR FORMAT "x(15)"
INIT "Самара"
LABEL "Город:"
VIEW-AS COMBO-BOX
LIST-ITEMS "Москва","Самара", "Волгоград", "Екатеринбург", "Смоленск",
"Воронеж", "Саратов", "Калуга" INNER-LINES 3.
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 sel_town btn-exit AT ROW 6 COL 12 WITH CENTERED
NO-UNDERLINE.
ON LEAVE OF sel_town
DO:
ASSIGN sel_town.
MESSAGE "Выбран город:" sel_town
VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
END.
ASSIGN sel_town:SCREEN-VALUE = sel_town.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF btn-exit.
RADIO-SET (ОБЪЕКТ ВЫБОРА)
RADIO-SET представляет собой подобие SELECTION LIST и TOGGLE-BOX. С помощью данного объекта организовывается выбор значения из заранее заготовленных вариантов посредством отметки нужного.
Синтаксис:
DEF VAR i AS INT VIEW-AS RADIO-SET RADIO-BUTTONS "text1",N1, "text2",N2, ... "textN",Nn.
где:
- textN – описание варианта n;
- Nn – значение переменной варианта n
Атрибуты:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
RADIO-BUTTONS | CHARACTER, INTEGER |
Описание вариантов выбора | |
SCREEN-VALUE | INTEGER | чтение/запись | Экранное значение |
HORIZONTAL | LOGICAL | чтение/запись | Горизонтальное расположение |
DELIMETER | LOGICAL | запись | Вставка разделителя |
EXPAND | запись | ||
VISIBLE | LOGICAL |
чтение/запись | Объект видим |
HIDDEN | LOGICAL |
чтение/запись | Объект скрыт |
LABEL |
CHARACTER |
чтение/запись | Надпись (метка). |
HELP |
CHARACTER |
чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объект |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | INTEGER | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER |
чтение/запись | Определяет цвет объекта всего объекта, включая и label. |
PFCOLOR | INTEGER | чтение/запись | Определяет цвет непосредственно рабочей части объекта (окошка отметки). |
События:
Событие | Описание |
VALUE-CHANGED | Изменение значения |
LEAVE | Снятие фокусировки объекта |
ENTRY | Фокусировка объекта |
Пример Radio-set_1.
DEF VAR answ AS INT INIT 1 LABEL "Сколько ног у коровы?" VIEW-AS
RADIO-SET RADIO-BUTTONS "Одна", 1, "две", 2, "Три", 3, "Четыре", 4.
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 SKIP(2) answ SKIP(2) btn-exit WITH CENTERED
SIDE-LABELS.
ON VALUE-CHANGED OF answ
DO:
ASSIGN answ.
MESSAGE "Ответ: " + STRING(answ).
END.
DISPLAY answ WITH FRAME frame1.
MESSAGE "Ответ: " + STRING(answ).
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF btn-exit.
По своей сути:
DISPLAY answ WITH FRAME frame1.
аналогичен
ASSIGN answ:SCREEN-VALUE = answ.
SLIDER (ПОЛЗУНОК)
SLIDER представляет собой графический объект указания значения переменной INTEGER типа в виде ползунка.
Синтаксис:
DEF VAR i AS INT VIEW-AS SLIDER MIN-VALUE min MAX-VALUE max HORIZONTAL SIZE-CHARS N BY P.
Атрибуты:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
HORIZONTAL | LOGICAL | чтение/запись | Определяет горизонтальное расположение SLIDER |
SCREEN-VALUE | INTEGER | чтение/запись | Экранное значение объекта |
MIN-VALUE | INTEGER | чтение/запись | Начальное положение (значение) |
MAX-VALUE | INTEGER | чтение/запись | Конечное положение (значение) |
NO-CURRENT-VALUE |
запись | ||
SENSITIVE | LOGICAL | чтение/запись | |
VISIBLE | LOGICAL |
чтение/запись |
Объект видим |
HIDDEN | LOGICAL |
чтение/запись |
Объект скрыт |
LABEL |
CHARACTER |
чтение/запись |
Надпись (метка). |
HELP |
CHARACTER |
чтение/запись |
Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объект |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER |
чтение/запись |
Определяет цвет объекта всего объекта, включая и LABEL. |
PFCOLOR | INTEGER |
чтение/запись |
Определяет цвет непосредственно рабочей части объекта. |
События:
Событие | Описание |
VALUE-CHANGED | Изменение значения |
LEAVE | Снятие фокусировки объекта |
ENTRY | Фокусировка объекта |
Пример Slider_1:
DEF VAR x AS INT INIT 1 VIEW-AS SLIDER MIN-VALUE 1 MAX-VALUE 100
HORIZONTAL SIZE-CHARS 30 BY 2.
DEF BUTTON btn-reset LABEL "Сброс".
DEF BUTTON btn-exit LABEL "Выход".
DEF FRAME frame1 SKIP(5)
x NO-LABEL
AT ROW 2 COLUMN 1 SKIP(2)
btn-reset SKIP(1)
btn-exit
WITH CENTERED.
ON VALUE-CHANGED OF x ASSIGN x.
ON CHOOSE OF btn-reset
DO:
DEF VAR i AS INT.
DO i = x TO 1 BY -1:
x = i.
DISPLAY x WITH FRAME frame1.
END.
END.
ENABLE ALL WITH FRAME frame1.
WAIT-FOR CHOOSE OF btn-exit.
TEXT (ТЕКСТ)
Text единственный VIEW-AS объект не предназначенный для ввода значения переменной, а использующийся только для отображения статического текста являющегося значением переменной текстового типа.
Синтаксис:
DEF VAR i AS CHAR VIEW-AS TEXT.
Атрибуты:
Атрибут | Аргумент | Тип атрибута (чтение/запись) |
Описание |
SCREEN-VALUE | CHARACTER | чтение/запись | Экранное значение |
VISIBLE | LOGICAL | чтение/запись | Объект видим |
HIDDEN | LOGICAL | чтение/запись | Объект скрыт |
LABEL | CHARACTER | чтение/запись | Надпись (метка). |
HELP | CHARACTER |
чтение/запись | Подсказка выводящаяся в нижней части экрана во время когда объект в фокусе. |
FRAME-NAME | CHARACTER | чтение | Возвращает идентификатор фрейма в котором располагается объект |
FRAME-COL | DECIMAL | чтение | Вертикальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-ROW | DECIMAL | чтение | Горизонтальная координата положения верхнего левого угла объекта во фрейме, выраженная печатными символами. |
FRAME-X | INTEGER | чтение | X координата положения во фрейме левого верхнего угла объекта |
FRAME-Y | INTEGER | чтение | Y координата положения во фрейме левого верхнего угла объекта |
TAB-POSITION | INTEGER | чтение | Порядковый номер навигации по TAB |
DCOLOR | INTEGER |
чтение/запись |
Определяет цвет всего объекта, включая и LABEL. |
PFCOLOR | INTEGER |
чтение/запись | Определяет цвет непосредственно рабочей части объекта. |
События:
Событие | Описание |
VALUE-CHANGED | Изменение значения |
LEAVE | Снятие фокусировки объекта |
ENTRY | Фокусировка объекта |