
- •Многостраничные панели, SpinEdit, Timer 7 Многостраничные панели и компоненты внешнего оформления Многостраничная панель с закладками – компонент PageControl
- •Разделитель панелей – компонент Splitter
- •Компоненты ввода и отображения чисел, дат и времени Компоненты ввода и отображения чисел Компонент UpDown
- •Компонент SpinEdit
- •Ввод и отображение дат и времени.
- •Таймер – компонент Timer
Многостраничные панели, SpinEdit, Timer 7 Многостраничные панели и компоненты внешнего оформления Многостраничная панель с закладками – компонент PageControl
Страница Win32
Компонент TPageControlотносится к группе многостраничных панелей, которые позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания. Выбор пользователем страницы производится щелчком на соответствующей закладке. Для создания компонента многопозиционного переключателя с одной единственной страницей вместоTPageControlнужно использоватьTTabControl.
Во время проектирования работу со страницами проще всего производить, щелкнув на компоненте правой кнопкой мыши и выбрав из всплывшего меню соответствующий раздел: NewPage- создать новую страницу,NextPageилиPreviousPage- перейти к следующей или предыдущей странице. Каждая создаваемая страница является объектом типаTTabSheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п. Ее основные свойства:
Name – Имя, по которому можно ссылаться на страницу
Caption – Надпись, которая появляется на ярлычке закладки
PageIndex – Индекс, по которому можно ссылаться на страницу
ImageIndex – Индекс изображения, которое может появляться на ярлычке закладки
Из свойств компонента TPageControlможно отметить следующие:
ActivePage : TTabSheet –активная страница
Pages[Index: Integer]: TTabSheet – Доступ к странице по индексу
PageCount :Integer– количество страниц
Style :TTabStyle где TTabStyle= (tsTabs, tsButtons, tsFlatButtons);– Определяет стиль отображения компонента
MultiLine : Boolean – Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд
TabPosition :TTabPosition, гдеTTabPosition= (tpTop,tpBottom,tpLeft,tpRight);– Определяет место расположения ярлычков закладок
TabHeight : Smallint; – Высота ярлычков закладок
TabWidth :Smallint; –ширина ярлычков закладок
Images : TCustomImageList – Ссылка на компонентTImageList, который содержит список изображений на ярлычках
ScrollOpposite : Boolean – Определят способ перемещения закладок при размещении их в несколько рядов
Пример
На форме расположен компоненты PageControlиComboBox. В обработчике события OnCreateформы в компонентComboBoxметодомAddObjectзаносятся имена страниц компонентаPageControlи связанные с ними объекты (страницы).
Когда пользователь выбирает элемент в ComboBox, изменяется свойствоActivePageдля компонентаPageControl, т.е. выполняется переключение активной страницы.
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to PageControl1.PageCount - 1 do
ComboBox1.Items.AddObject(PageControl1.Pages[i].Name,
PageControl1.Pages[i]);
ComboBox1.ItemIndex := 0;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if (Sender is TComboBox) then
with (Sender as TComboBox) do
PageControl1.ActivePage := TTabSheet(Items.Objects[ItemIndex]);
end;
В компоненте имеется ряд методов, позволяющих оперировать страницами, создавать их, уничтожать, переключать.
События
Основные события компонента - OnChangingиOnChange
Событие OnChangingпроисходит непосредственно перед переключением на другую страницу после щелчка пользователя на новой закладке.
procedure TForm1.PageControl1Changing(Sender: TObject; var AllowChange: Boolean);
При этом в обработчик события передается по ссылке параметр AllowChange- разрешение переключения. Если в обработчике задатьAllowChange=false, то переключение не произойдет.
Событие OnChangeпроисходит сразу после переключения.