Набор страниц (TPageControl) в Delphi

страница. Получается, что когда мы создаем новую страницу, то мы как бы создаем отдельный компонент внутри компонента TPageControl. Именно поэтому TPageControl лишен недостатков компонента TTabControl. Каждая его страни­ца— это отдельный объект внутри целого компонента. Если в прошлый раз нам самим приходилось делать что-то подобное с помощью панелей, то тут это делает­ся автоматически.

 

Я надеюсь, что вы заметили, что сам компонент происходит от TPageControl, а ВОТ страницы происходят ОТ TTabSheet.

 

Набор страниц (TPageControl) в Delphi

У каждой страницы есть свойство caption, в котором можно написать заголовок страницы. Помимо этого, есть свойство imageindex, в котором можно выбирать картинку, как это делалось при создании меню. В этом случае нужно установить на форму компонент TimageList и загрузить в него картинки. После этого достаточно выбрать компонент PageControl и указать в его свойстве images компонент imageList. Теперь в списке imageindex у страниц появятся картинки, и вы сможете их выбирать. Попробуйте весь процесс подключения картинок проделать само­стоятельно.

 

Если необходимо сделать какую-то страницу невидимой, то можете не пытаться изменить свойство visible, это не поможет. За видимость страниц TTabSheet отве­чает СВОЙСТВО TabVisible.

Давайте создадим четыре вкладки со следующими именами:

  • Основные настройки;
  • Параметры пользователя;
  • Загрузка и восстановление;
  • Настройки печати. 

На рис. показана форма нашей будущей программы. По­пробуйте создать нечто подобное. Практически все, что необходимо для этого знать, мы уже проходи­ли. В данном примере на каждую вкладку установлено несколько компонентов, чтобы можно было видеть, как меняются страницы. Они ничего не делают, а служат просто оформлением для большей наглядности.

Теперь рассмотрим поближе свойства и методы компонента TPageControl.

  • ActivePage— это свойство имеет тип TTabSheet и указывает на активную в данный момент страницу. Вы можете управлять этой страницей, например, можно изменить ее заголовок:
     PageControll.ActivePage.Caption: = 'новый заголовок'.
  • ActivePageindex — индекс выделенной в данный момент страницы.
  • Pagecount — в этом свойстве хранится количество страниц.
  • Pages — в этом массиве хранятся все страницы. Например, чтобы изменить за­головок нулевой, можно написать следующий код:
  • PageControll.Pages[0].Caption:='новый заголовок'.
  • HotTrack — если этот параметр равен true, то заголовки страниц будут подсве­чиваться при наведении на них курсора мыши.
  • MultiLine— заголовки могут выстраиваться в несколько строк, если названия не умещаются в одну строку.
  • Multiseiect — разрешить выделение нескольких страниц сразу. Это свойство может быть истиной, только если в свойстве style указано tsFiatButtons или tsButtons. Честно говоря, внешний вид и результат не очень удобен и эстети­чен, и, на мой взгляд, лучше воздержаться от множественного выбора.
  • style — стиль заголовков страниц. Здесь можно указать одно из значений:
    • tsTabs — стандартный вид;
    • tsButtons — в виде кнопок;
    • tsFiatButtons — в виде плавающих кнопок.
  • TabPosition— позиция вкладок. Здесь может быть одно из значений: tpTop, tpLeft, tpRight, tpBottom, что соответствует верхней, левой, правой и нижней позиции.
  • TabHeight - высота вкладок. Вы можете указать определенное значение высо­ты или 0, что будет соответствовать значению по умолчанию.
  • Tabwidth — ширина вкладок. Если здесь указано 0, то ширина будет минималь­но необходимой для отображения заголовка.

Это основные свойства, которые могут вам понадобиться.

Если посмотреть на класс страниц TTabSheet, то он очень похож на панель TPanei, только имеет свойства Pageindex (индекс страницы) и imageindex (индекс картинки).

dle

Помоги проекту! Расскажи друзьям об этом сайте: