Панель |
Панель служит для объединения нескольких областей ввода и обработчиков событий с одинаковыми корневыми таблицами. Хотя использование панелей не является обязательным, тем не менее рекомендуется все области ввода, относящиеся к одной таблице, включать в одну панель. Обработку табличных событий следует выполнять в соответствующей панели.
<панель> ::= panel <имя> [;] [<координаты>] [<лист>] { <таблица> | <экран> | <окно перехода> | <обработчик_событий> } end [;]
Если видимые элементы включены в панель, в качестве значений по умолчанию для координат и корневой таблицы используются соответствующие значения из панели.
В обработчик событий handleEvent панели поступают события, если корневая таблица панели является текущей корневой таблицей. Если в нескольких окнах описаны панели с одинаковыми корневыми таблицами, то поток событий направляется в обработчик событий каждой из этих панелей в порядке их описания.
Пример:
panel projects; table projects; screen projScr; fields Project_name; << Проект .@@@@@@@@@@@@@@@@@@@@@ >> end; browse projList; fields Project_name; end; handleEvent cmInsertRecord: insert current Project; cmDeleteRecord: delete current Project; cmUpDateRecord: update current Project; cmPass: SetFormat(projList); end; end;