Привет, Гость! Регистрация RSS
Пятница, 22.11.2024
Главная » Статьи » Основные статьи сайта

Формы со вкладками. Оформление приложений с помощью многостраничных панелей.

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

Для этого используются элементы с закладками. Это управляющие компоненты, содержащие одну или несколько страниц, одну из которых можно выбрать щелчком на закладке.  Для создания форм со вкладками предназначены специальные элементы управления TabControl и PageControl (страница палитры компонент Win32). Эти компоненты являются контейнерами для других компонентов.

1. Компонент блокнота с закладками TabControl.

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

Пример использования одностраничного блокнота – создание календаря или записной книжки с алфавитным указателем.

Свойства компонента:

·        Style – стиль:

>     tsTabsстандартные закладки объемного вида;

>     tsButtonsзакладки в виде кнопок;

>     tsFlatButtonsзакладки в виде плоских кнопок.

·        Tabs – количество закладок и их названия (это список строк в редакторе);

·        Multilineотображение закладок в виде нескольких строк или одной строкой;

·        TabPosition – выбор расположения закладок в различных местах блокнота

 >    tpTop – вверху;

>     tpBottom – внизу;

>     tpLeft – слева;

>     tpRight – справа.

·   TabWidthширина закладки в пикселях (по умолчанию 0, и размеры определяются атоматически в зависимости от длины названия);

·    TabHeight – высота закладки в пикселях;

·    TabIndexопределяет номер выбранной закладки в массиве строк с названиями, нумерация начинается с нуля. 

Пример использования компонента TabControl для разработки календаря:   

посмотреть или скачать пример »   

 Для разработки приложения надо:

1)      поместить на форму компонент TabControl (закладки для наименований месяцев года в календаре), сформировать в свойстве Tabs 12 строк с сокращенными названиями месяцев;

2)      в поле компонента TabControl поместить компонент Calendar  из страницы Samples;

3)      связать номера месяцев календаря с номерами выбранных закладок компонента TabControl; для этого создать обработчик события OnChange:

procedure TForm1.TabControl1Change(Sender: TObject);

begin

            Calendar1.Month := TabControl1.TabIndex +1;

end;

 4)      разместить под компонентом TabControl

*   2 метки типа TLabel со свойствами Caption = ‘Год:’ и ‘День недели:’

*   компонент SpinEdit из страницы Samples для вывода и изменения года на календаре. Чтобы переслать из строки компонента SpinEdit значение года в календарь, создать обработчик события OnChange:

procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

       Calendar1.Year := SpinEdit1.Value;

end;

*      компонент Edit1 – для вывода наименования дня недели, выбранного в календаре. Для этого создать обработчик события OnChange и поместить туда массив А – типизированных констант с наименованиями дней недели и текст оператора присваивания.

procedure TForm1.Calendar1Change(Sender: TObject);

const

  A : Array [1..7] of string[11] = ('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг',  'Пятница', 'Суббота');

begin

    Edit1.Text := A [DayOfWeek(Calendar1.CalendarDate)];

end;

 5)      сформировать на календаре Date –исходную дату, установленную на ПК, и год в окне  SpinEdit1, создав для этого обработчик события:

procedure TForm1.FormCreate(Sender: TObject);

begin

     Calendar1.CalendarDate := Date;                         // исходная дата

    TabControl1.TabIndex := Calendar1.Month -1;  // месяц в TabControl1

    SpinEdit1.Value := Calendar1.Year;                  // год в SpinEdit1

end;


2. Элемент управления PageControl – многостраничный блокнот

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

Добавлять и удалять вкладки можно как на стадии разработки программы, так и во время выполнения программы. Первоначально компонент, помещенный на форму,  будет пустым – не содержащим ни одной страницы.

 Для добавления вкладки используется команда New Page (Создать страницу) контекстного меню компонента TPageControl. Каждая отдельная вкладка является объектом класса TTabSheet.

В списке объектов в Инспекторе Объектов появляется описывающий ее новый объект TabSheet1.

Переключаться между страницами можно простым щелчком мышки на корешке. Названия, указанные на закладках,  меняются так: сначала выбирается нужная страница при помощи щелчка на ее клиетской части или выбором в списке Инспектора Объектов, затем нужное название вводится в свойство Caption.

Слева от названия можно разместить рисунок (пиктограмму). Для этого нужно разместить на форме компонент ImageList, заполнить его рисунками. Подключить ImageList к компоненту PageControl выбором его имени из списка свойства Images. Для компонента TabSheet рисунок задается значением его номера в свойстве ImageIndex. Значение ImageIndex = 0 означает, что на этой странице рисунка нет. Ширина закладки и страницы изменяется автоматически в соответствии с размером рисунка и текста названия страницы.

Удаление вкладок произво­дится командой Delete Page контекстного меню.

Основные свойства элемента TPageControl


Нравится
Категория: Основные статьи сайта | Добавил: Dark_Green (22.10.2012)
Просмотров: 10987 | Теги: PageContro, вкладки, Формы со вкладками, TabControl | Рейтинг: 0.0/0

Другие статьи
»
Как получить текущий день, месяц и год? Модуль DateUtils (0)
»
Графические инструменты Delphi (2 часть) (0)
»
Потоки (Threads). Создание многопоточных приложений (0)
»
Создание и использование заставки в приложении (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]