Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2007-07-30 14:27:26 ЛС | профиль | цитата
Да нет. Можно обойтись...

Решение может быть таким (БЕЗ утверждений, что возможные интерфейсные изменения - это плохо):
  • Сам TabControl (который является парентом в контейнере) должен быть "пустым".
  • Странички он добавляет через InitMan по списку в св-ве Tabs
  • При этом у него должна быть верхняя точка - ControlsArray
  • Массив контроллов можно получить, если в элемент GetIndexData добавить фичу - нижнюю точку Array.
  • Ну и сделать нужным (а можно и всем) контролам нижнюю точку - Control

    Уточнение:

    а) добавление по второму пункту следует делать методом TC_InsertControl - он не является конструктором (в отличие от TC_Insert), а просто честно "регистрирует" нужный контрол.

    б) Собственно не факт, что дочерними обязаны быть именно панели, что и достигается запросто в этой технике.

    в) И тоже не факт, что все детишки обязаны быть "зарегистрированы" в табе... Все прекрасно работает и без этого. Пробовал (в "чистом" KOL - бодался ведь) так к примеру: "незарегистрированный" Edit с Align=caBottom, и куча "зарегистрированных" панелей с Align=caClient - прекрасно все работает.

    г) да, и пустой TabControl правильней делать конструктором NewTabEmpty
  • карма: 9

    0