Динамическое изменение набора закладок
В зависимости от некотрых параметров набор закладок в диалоге может изменяться. В качестве примера рассматривается вариант использования радиогруппы, где состояние переключателя отвечает за набор закладок. При изменении состояния переключателя пользователем происходит добавление или удаление закладок.
Пример
ИСПОЛЬЗОВАТЬ("Страница1", "Страница2")
ПЕРЕМ ЗАКЛАДКИ: Закладки1 = [ левый = 5,
верхний = 5,
высота = 305,
ширина = 390,
табиндекс = 1003,
закладки = (),
];
ТИП Диалог_дин_доб_заклд(ДИАЛОГ)
[
ПОДМЕНА открытие = {Отк};
...
РАДИОГРУППА: Радиогруппа1 = [ левый = 420,
верхний = 60,
ширина = 200,
высота = 110,
табиндекс = 1004,
элементы = ( "1",
"2" ),
изменение = {ИзмСостояния} ];
ФУНКЦИЯ ИзмСостояния (ПЕРЕМ РАДИОГРУППА: группа)
ВЫБОР(группа.выбор)
#1:
^Закладки1.страницы[2] //удаление второй страницы
ОБНОВИТЬ
#2:
Закладки1.страницы[2] = Страница2[ ] //добавление второй страницы
ОБНОВИТЬ
КОНЕЦ_ВЫБОРА
КОНЕЦ_ФУНКЦИИ
ФУНКЦИЯ Отк
ВЫБОР(Радиогруппа1.выбор)
#1:
Закладки1.страницы = (Страница1[ ])
ДОБАВИТЬ(Закладки1)
#2:
Закладки1.страницы = (Страница1[ ], Страница2[ ])
ДОБАВИТЬ(Закладки1)
КОНЕЦ_ВЫБОРА
КОНЕЦ_ФУНКЦИИ
...
]
ВЫЧИСЛИТЬ
ПЕРЕМ Диалог_дин_доб_заклд: д
// д <- данные
ЕСЛИ д.ПОКАЗАТЬ_МОДАЛЬНЫЙ <> "" ТО
// д -> данные
КОНЕЦ_ЕСЛИ
КОНЕЦ