Иллюстрированный самоучитель по Delphi 7 для профессионалов

Многостраничный блокнот – компоненты TTabControl и TPageControl

Компонент TPageControl, в отличие от TTabControl, для обеспечения работы создает "настоящую" страницу – экземпляр класса TTabSheet. Список указателей на все созданные экземпляры страниц хранится в свойстве Pages, доступном только для чтения:

property Pages[Index: Integer]: TTabSheet;

Номер индекса соответствует порядковому номеру страницы. Для создания новой страницы используется команда New Page из всплывающего меню компонента, перенесенного на форму. Если же вы хотите создать страницу на этапе выполнения, создайте экземпляр TTabSheet самостоятельно и в свойстве Pagecontrol укажите на родительский блокнот:

pcMain: TPageControl;
ts: TTabSheet;
…
ts: = TTabSheet.Create(pcMain);
with ts do
begin
PageControl: = pcMain;
ts.Caption: = 'New page';
end;

Общее число страниц хранится в свойстве:

property PageCount: Integer;

Доступном только для чтения. Текущую страницу можно задать свойством:

property ActivePage: TTabSheet;

Если во время разработки (этой возможностью компонент TPageControl отличается от своего собрата) или во время выполнения переключиться на другую страницу, значение свойства ActivePage изменится.

Также для перехода на соседнюю страницу программными средствами можно использовать метод:

procedure SelectNextPage(GoForward: Boolean);

В котором параметр GoForward при значении True задает переход на следующую страницу, иначе – на предыдущую.

Рассмотрев свойства блокнота, обратимся к его страницам и остановимся подробнее на возможностях класса TTabSheet. На владельца страницы указывает значение свойства:

property PageControl: TPageControl;

Расположение страницы в блокноте задает свойство Pageindex:

property Pageindex: Integer;

Если в блокноте одновременно выделено несколько страниц, то положение данной страницы среди выделенных определяется свойством только для чтения:

property Tablndex: Integer;

Страница может временно "исчезнуть" из блокнота, а затем опять появиться. Для этого применяется свойство:

property TabVisible: Boolean;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.