Содержание материала

  

Как динамически создать PageControl

 

Прежде, чем мы приступим к динамическому созданию страниц, давайте динамически создадим PageControl (если он еще не на форме). Это делается посредством вызова конструктора TPageControl Create с параметром owner, равным Self. Конструктор Create возвращает объектную ссылку на вновь созданный объект PageControl и назначает его переменной 'PageControl'. Вторым шагом будет установка свойства PageControl Parent в Self. Свойство Parent определяет где должен быть отображен новый PageControl; в нашем случае это будет сама форма. Вот кусок кода, демонстрирующий вышесказанное:

 

Code:

var

 

PageControl : TPageControl;

 

PageControl := TPageControl.Create(Self);

PageControl.Parent := Self;

 

 

Примечание: При разрушении формы разрушаются также PageControl и ее закладки, поскольку они принадлежат форме.

 

Как динамически создавать закладки

 

Существует два основных способа добавления новых страниц к PageControl. Сначала вы должны динамически создать TTabSheet следующим образом:

 

Code:

var

TabSheet : TTabSheet;

TabSheet := TTabSheet.Create(Self);

 

Затем ему необходимо присвоить заголовок следующей командой:

 

TabSheet.Caption := 'Закладка 1';

 

И, наконец, самая важное действие заключается в том, что новой странице необходимо сообщить, какому объекту PageControl она принадлежит. Это делается с помощью присваивания свойством TTabSheet PageControl переменной-ссылки TPageControl, типа той, которую мы создали выше (PageControl). Вот кусок кода, демонстрирующий вышесказанное:

 

TabSheet.PageControl := PageControl;

 

Как динамически добавлять к страницам элементы управления

 

Ключевым моментом при создании и размещении элемента управления на странице TabSheet является назначение свойства Parent на переменную-ссылку класса TTabSheet. Вот пример:

 

Code:

var

 

Button : TButton;

 

Button := TButton.Create(Self);

Button.Caption := 'Кнопка 1';

Button.Parent := TabSheet;

 

Более подробно об объектах TPageControl и TTabSheet вы можете узнать в онлайн-документации, или посмотреть код файла ComCtrls.pas, расположенного в вашем каталоге ..\Delphi 2.0\SOURCE\VCL.

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить