Добавление пользовательского элемента на форму
Пользовательский элемент управления - это элемент управления, созданный путем наследования свойств основных типов элементов управления. Наследование может быть многоуровневым - один пользовательский элемент может быть потомком другого пользовательского элемента, который в свою очередь является потомков одного из основного типа элемента управления.
Перед непосредственным добавление пользовательского элемента на форму нужно чтобы в исходном коде файлов проекта было объявление потомка основного типа элемента управления. После объявления в исходном коде типа-потомка при помощи кнопки
или через меню Форма-Элементы управления в диалоговом окне выбирается нужный тип пользовательского элемента управления.
После нажатия кнопки "Ок" осуществляется переход в режим добавления элемента на форму - курсор устанавливается на нужную позицию в форме и, удерживая левую кнопку мыши, "растянуть" элемент до нужного размера. Кнопка активна только в случае, если в исходном тексте используемых в проекте файлов встречается хотя бы одно объявление объектного типа – потомка типа элемента управления:
ТИП <имя_типа>(<имя_родительского_типа>) [ <поля типа> ]
Пример:
При подключении библиотеки с приведенным ниже текстом появится возможность размещать на форме пользовательский элемент управления – таблицу, в которую можно добавлять коды и названия объектов аналитики, выбирая объекты из диалога.
ТИП МояТаблица(ТАБЛИЦА)
[
ЦЕЛОЕ: кол_строк = 0;
ЦЕЛОЕ: кол_столбцов = 2;
ЦЕЛОЕ: кол_фикс_столбцов = 1;
ЧИСЛО: размер_строки = 20;
ЛОГИКА: стр_доб = ДА;
ЧИСЛО: столбцы[] = ( 1: 21,
2: 136,
3: 263 );
ЧИСЛО: строки[] = ( 1: 21,
2: 21,
3: 21 );
*:элементы[ЦЕЛОЕ(), ЦЕЛОЕ()] = ( 2, 1: "Код",
3, 1: "Название" );
ПОДМЕНА команда = открыть_диалог;
]
ФУНКЦИЯ ЛОГИКА: открыть_диалог(ПЕРЕМ ТАБЛИЦА: таблица; СТРОКА: код)
ЕСЛИ код = "+" ТО
ПЕРЕМ ДИАЛОГ_АНАЛИТ: длг_выбора
длг_выбора.выбор_множ = ДА
длг_выбора.выбор_посл = ДА
длг_выбора.сост_парам[1] = [дерево=НЕТ]
ЕСЛИ длг_выбора.ПОКАЗАТЬ ТО
ЦИКЛ ИНДЕКС (знач = длг_выбора.выд_множ[инд])
таблица.кол_строк++
таблица.элементы[2, таблица.кол_строк + 1] = знач.код
таблица.элементы[3, таблица.кол_строк + 1] = НАЗВ_ОБЪЕКТА(знач.код)
КОНЕЦ_ЦИКЛА
таблица.ОБНОВИТЬ
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ
РЕЗУЛЬТАТ = ДА
КОНЕЦ_ФУНКЦИИ