Многостраничные панели позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания.
Компонент PageControl находится на Палитре Компонентов на странице Win32.
Для создания новой страницы используется команда New Pageвсплывающего меню, которое появляется по щелчку правой кнопки мыши на компоненте PageControl, перенесенного на форму.
Каждая создаваемая вами страница является объектом типа TTabSheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п. После того, как вы создадите несколько страниц, выделите одну из них, щелкнув ее в середине, и посмотрите ее свойства в Инспекторе Объектов. Страница имеет следующие основные свойства:
Значение | Описание |
Name | Имя, по которому можно ссылаться на страницу. |
Caption | Надпись, которая появляется на ярлычке закладки. |
Pagelndex | Определяет номер (индекс) данной страницы в компоненте PageControl. Первая страница имеет индекс 0. При удалении или переме-щении страниц значения PageIndex автома-тически изменяются, образуя непрерывную последовательность номеров. |
Imagelndex | Индекс изображения, которое может появляться на ярлычке закладки. |
Style | Определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки. |
HotTrack | Если свойство принимает значение True, названия страниц выделяются другим цветом при перемещении над ним указателя мыши. |
MultiLine | Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд. |
TabPosition | Определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию). |
TabHeight, TabWidth | Высота и ширина ярлычков закладок в пикселах. Если значения этих параметров заданы равными 0, то размеры ярлычков опеделяются автоматически по размерам надписей на них. |
RaggedRight | Изменяет ширину закладок таким образом, чтобы они занимали всю сторо-ну блокнота. |
Images | Ссылка на компонент ImageList, который содержит список изображений на ярлычках. Свойства Imagelndex страниц содержат индексы, соответствующие именно этому списку. |
ScrollOpposite | Определят способ перемещения закладок при размещении их в несколько рядов. |
ActivePage | Имя активной страницы. |
Pages [int Index] | Доступ к странице по индексу (первая страница имеет индекс 0). Свойство только для чтения. |
PageCount | Количество страниц. Свойство только для чтения. |
TabVisible | При значении равном False данная страница в блокноте становится невидимой. |
В компоненте имеется ряд методов, позволяющих оперировать страницами, создавать их, уничтожать, переключать. Основные события компонента OnChanging и OnChange. Первое из них происходит непосредственно перед переключением на другую страницу после щелчка пользователя на новой закладке. При этом в обработчике события передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет. Событие OnChange присходит сразу после переключения.
Для сокрытия закладки в компоненте TPageControl воспользуйтесь следующим кодом:
PageControl1->Pages[1]->TabVisible = false;
где PageControl1 - ваш компонент TPageControl, расположенный на форме. Данный код скрывает закладку с индексом 1. Для сокрытия другой закладки вместо единицы должен стоять соответствующий индекс.
Код для проверки номера активной вкладки.
void __fastcall TForm1::PageControl1Change(TObject *Sender)
{
switch (PageControl1->ActivePageIndex) {
case 0:
ShowMessage("It's the first page.");
break;
case 1:…
Количество вкладок:
PageControl1->PageCount
Перебрать все вкладки:
for (int i = 0; i < PageControl1->PageCount; i++) {
PageControl1->Pages[i]-> // действия, которые нужны вам...
}