Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по лабораторным Delphi.doc
Скачиваний:
42
Добавлен:
13.02.2016
Размер:
610.3 Кб
Скачать

4. Многостраничный блокнот.

В палитре компонентов имеются два элемента управления, обеспечивающих создание многостраничных блокнотов. Это компоненты TTabControl и TPageControl. Переключение между страницами осуществляется при помощи закладок. Компонент TPageControl может содержать несколько перекрывающих друг друга панелей класса TTabSheet. Каждая панель выбирается связанной с ней закладкой и может содержать свой набор помещенных на нее компонентов.

  1. Поместите на форму компонент TPageControl.

  2. Чтобы на этапе конструирования добавить новую панель, щелкните по компоненту правой кнопкой мыши и выберите New Page. Для новой страницы можно установить заголовок в свойстве Caption (создайте 4 страницы).

5. Компонент tPaintBox.

Компонент TPaintBox расположен на панели System. Это простое окно для рисования произвольных изображений. Канва содержится в свойстве Canvas компонента, графические инструменты – в свойствах Font, Pen и Brush.

  1. Поместите на первую страницу PageControl компонент TPanel и задайте его свойству Align значение alRight.

  2. На панели поместите две кнопки TBitBtn. Задайте кнопкам заголовки и пиктограммы (свойства Caption (Эллипс и Очистка) и Glyph).

  3. На свободное место страницы поместите компонент TPaintBox (Align - alClient).

  4. Создайте обработчик события OnClick для BitBtn1.

Procedure TForm1.BitBtn1Click(Sender: TObject);

Var x,y: integer;

Begin

With PaintBox1.Canvas do

Begin

Brush.Color:=clRed;

Ellipse(0,0,Width,height);

Font.Size:=Height div 5;

Font.Color:= clWhite;

X:=(Width-TextWidth('Delphi')) div 2;

Y:=(Height-TextHeight('D')) div 2;

TextOut(x,y, 'Delphi');

End; End;

В обработчике, с помощью методов класса Canvas, рисуется эллипс красного цвета.

  1. Этот же обработчик назначьте любой кнопке созданной Вами панели инструментов.

  2. Для кнопки BitBtn2 создайте обработчик:

Procedure TForm1.BitBtn2Click(Sender: TObject);

Begin

PaintBox1.Refresh;

End;

Нажатие на кнопку BitBtn2 приведет к очистке компонента PaintBox1.

  1. Проверьте правильность Ваших действий, осуществив прогон программы.

6. Компоненты tAnimate, tProgressBar, tUpDown, tShape, tTimer.

Компонент TProgressBar предназначен для отображения хода выполнения длительного по времени процесса. Свойства Max и Min определяют максимальное и минимальное значение диапазона изменения свойства Position. Position содержит текущее значение отображаемой величины.

Компонент TUpDown предназначен для регулирования числовой величины. Обычно компонент TUpDown связан с другим компонентом класса TEdit, который отображает регулируемую величину и при необходимости, может редактировать ее. Свойство Associate определяет связанный компонент.

Компонент TAnimate представляет собой проигрыватель видеоклипов формата AVI. Свойство FileName связывает компонент с AVI- файлом. Свойство Active разрешает/запрещает демонстрацию клипа.

Компонент TShape рисует одну из простейших геометрических фигур. Свойство Shape определяет вид геометрической фигуры.

Компонент TTimer служит для отсчета интервалов реального времени. Его свойство Interval определяет интервал времени в миллисекундах, который должен пройти от включения таймера до наступления события OnTimer. Таймер включается при установке значения True в его свойство Enabled. Один раз включенный таймер все время будет возбуждать события OnTimer, пока его свойство Enabled не примет значения False.

  1. Поместите на третью страницу блокнота компоненты TAnimate, TProgressBar, TupDown (страница Win32), TShape (страница Additional), TTimer (страница System), TEdit.

  2. Найдите в каталоге Delhi6 любой файл с расширением AVI и скопируйте его в свой каталог Lab7. Установите имя этого файла в свойство FileName компонента Animate1. (C:\Program Files\Borland\Delphi7\CollStuf)

  3. Установите в свойство Enabled компонента Timer1 значение False.

  4. Поместите в свойство Visible компонента ProgressBar1 значение False.

  5. Создайте обработчик события OnTimer компонента Timer1:

Procedure TForm1.Timer1Timer(Sender: TObject);

Begin

ProgressBar1.Position:= ProgressBar1.Position + 1;

If ProgressBar1.Position >= ProgressBar1.Max then

begin

Timer1.Enabled:=False;

ProgressBar1.Hide;

Animate1.Stop;

End;End;

  1. При щелчке по кнопкам компонента TUpDown возникает событие OnClick. Создадим соответствующий обработчик:

Procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);

Begin

//Значение свойства Position компонента UpDown1 отражается в Edit1.

Edit1.Text:=IntToStr(UpDown1.Position);

Case UpDown1.Position mod 5 of

//В зависимости от значения свойства Position компонента UpDown1

// изменяется вид фигуры в компоненте Shape1.

0: Shape1.Shape:= stRectangle;

1: Shape1.Shape:= stSquare;

2: Shape1.Shape:= stRoundRect;

3: Shape1.Shape:= stRoundSquare;

4: Shape1.Shape:= stEllipse;

5: Shape1.Shape:= stCircle;

end; end;

  1. Таймер включается при нажатии на кнопку №3 панели инструментов:

Procedure TForm1.ToolButton3Click(Sender: TObject);

Begin

PageControl1.ActivePageIndex:=2;

ProgressBar1.Position:=0;

Animate1.Active:=True;

ProgressBar1.Show;

Timer1.Enabled:=True;

End;

  1. Запустите программу и проверьте правильность Ваших действий.