Руководство разработчика

Динамическое изменение набора закладок

В зависимости от некотрых параметров набор закладок в диалоге может изменяться. В качестве примера рассматривается вариант использования радиогруппы, где состояние переключателя отвечает за набор закладок. При изменении состояния переключателя пользователем происходит добавление или удаление закладок.

Пример

ИСПОЛЬЗОВАТЬ("Страница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)
    КОНЕЦ_ВЫБОРА
  КОНЕЦ_ФУНКЦИИ
  ...
]

ВЫЧИСЛИТЬ
  ПЕРЕМ Диалог_дин_доб_заклд: д
  // д <- данные
  ЕСЛИ д.ПОКАЗАТЬ_МОДАЛЬНЫЙ <> "" ТО
    // д -> данные
  КОНЕЦ_ЕСЛИ
КОНЕЦ

См. также: