Добавление пользовательского элемента на форму
Пользовательский элемент управления - это элемент управления, созданный путем наследования свойств основных типов элементов управления. Наследование может быть многоуровневым - один пользовательский элемент может быть потомком другого пользовательского элемента, который в свою очередь является потомков одного из основного типа элемента управления.
Перед непосредственным добавление пользовательского элемента на форму нужно чтобы в исходном коде файлов проекта было объявление потомка основного типа элемента управления. После объявления в исходном коде типа-потомка при помощи кнопки или через меню Форма-Элементы управления в диалоговом окне выбирается нужный тип пользовательского элемента управления. После нажатия кнопки "Ок" осуществляется переход в режим добавления элемента на форму - курсор устанавливается на нужную позицию в форме и, удерживая левую кнопку мыши, "растянуть" элемент до нужного размера. Кнопка активна только в случае, если в исходном тексте используемых в проекте файлов встречается хотя бы одно объявление объектного типа – потомка типа элемента управления:
ТИП <имя_типа>(<имя_родительского_типа>) [ <поля типа> ]
Пример:
При подключении библиотеки с приведенным ниже текстом появится возможность размещать на форме пользовательский элемент управления – таблицу, в которую можно добавлять коды и названия объектов аналитики, выбирая объекты из диалога.
ТИП МояТаблица(ТАБЛИЦА) [ ЦЕЛОЕ: кол_строк = 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] = НАЗВ_ОБЪЕКТА(знач.код) КОНЕЦ_ЦИКЛА таблица.ОБНОВИТЬ КОНЕЦ_ЕСЛИ КОНЕЦ_ЕСЛИ РЕЗУЛЬТАТ = ДА КОНЕЦ_ФУНКЦИИ