Соединяем TreeView с PageControl

При разработки программы возникают ситуации, когда необходимо разместить огромное количество элементов, не изменяя размер окна при разработке программы. Сегодня поделюсь с вами секретом, который позволит решить данную ситуацию.

Практически каждый пользователь в своем арсенале видел, имеет программу Download Master или QIP. При настройке программы QIP можно заметить, что интерфейс окна настроек состоит из двух частей. Слева перечень группы настроек, справа настройки. При нажатии на одну из перечисленных групп, справа изменяется перечень параметров, которые можно настроить.

qip_settings1

Аналогичным образом происходит изменение интерфейса в программе Download Master при нажатии на одну из групп (слева) изменяется правая сторона, в которой отображаются закачки, относящиеся к выбранной группе.

Организовать подобный интерфейс в своей программы можно несколькими способами.

1-й способ. Связь TreeView с PageControl

  1. Разместите на форме компонент TreeView. В свойстве align выберите left.
  2. Разместите на форме компонент PageControl и в свойстве align выберите Client.
  3. Создайте несколько пунктов в компоненте TreeView. Для этого в свойстве Items (см. В Object Inspector)  создайте древовидную структуру.
  4. Создайте несколько вкладок в PageControl, число их должно соответствовать числу пунктов в древовидной структуре компонента TreeView. Для создания воспользуйтесь правой кнопок мыши на компоненте PageControl и выберите NewPage.
  5. Создаем событие.
procedure TForm1.TreeView1Click(Sender: TObject);
begin
PageControl1.ActivePageIndex:=TreeView1.Selected.Index;
end;

6. Тестируем программу.

Treeview_PageControl

2-й способ. Связываем компоненты TreeView и NoteBook

  1. Разместите на форме компонент TreeView. В свойстве align выберите left.
  2. Разместите на форме компонент NoteBook и в свойстве align выберите Client.
  3. Создайте несколько пунктов в компоненте TreeView. Для этого в свойстве Items (см. В Object Inspector)  создайте древовидную структуру.
  4. Создайте несколько страниц NoteBook , число их должно соответствовать числу пунктов в древовидной структуре компонента TreeView. Для создания воспользуйтесь свойством Pages в Object Inspector.
  5. Создаем событие.
procedure TForm1.TreeView1Click(Sender: TObject);
begin
NoteBook1.PageIndex:=tv1.Selected.Index;
end;

TreeView_NoteBook

Создание интерфейса с помощью компонента NoteBook, не отображает вкладки созданных страниц.