Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Тема 07 Многостраничные панели, таймер, SpinEdit.doc
Скачиваний:
52
Добавлен:
23.03.2015
Размер:
78.34 Кб
Скачать

Многостраничные панели, 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происходит сразу после переключения.