Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

2.2.8.5. Изображение (tGraphic,tPicture)

Компоненты описывают файлы пиктограммы (.ICO), метафайлы, построен­ные графическими командами (.WMF, .EMF), графические раст­ро­­вые изображения (.BMP).

TGraphicсодержит общие свойства и методы своих потомков:TIcon(пиктограмма),TMetafile(метафайл) иTBitmap(растровое изображение).

Свойства TGraphic

Empty‑ объект не связан с графическим изображением (True).

Height, Width‑ высота и ширина изображения в пикселях.

Palette:HPalette‑ цветовая палитра.

PaletteModify‑ цветовая палитра изменялась (True).

Transparent‑ изображение прозрачно для фона, на котором оно находится.

Методы TGraphic

LoadFrom/SaveTo ClipboardFormat‑ загрузка из буфера/в буфер.

LoadFrom/SaveTo File (S)‑ загрузка из файла/в файл под именемS.

LoadFrom/SaveTo Stream (S)‑ загрузка из потока/в поток под именемS.

Объект TPictureописывает готовое изображение.

Свойства TPicture

Assign(Source:TPersistent)‑ связывает изображение с объектомSource.

Graphic:TGraphic‑ содержит изображение.

Height, Width‑ высота и ширина изображения в пикселях.

Icon:TIcon/Metafile:TMetafile‑ изображение есть пиктограмма/метафайл.

Методы TPicture

LoadFrom ..., SaveTo ... ‑ аналогичны одноименным методамTGraphic.

Register ClipboardFormat/FileFormat/FileFormatRes‑ регистрация нового формата изображения вClipboard/файлового формата/в ресурсном файле.

SupportClipboard(AForm:Word) ‑ формат зарегистрирован в буфере (True).

UnregisterGraphic(AClass:TGaphicClass)‑ блокировка графических объектов.

2.2.8.6. Анимация

Простейший алгоритм анимации заключается в шагах: вывод рисунка (фигуры); удаление его или повторный его вывод цветом фона формы; вывод, возможно нового, рисунка на следующем месте своим первоначальным цветом.

Примерперемещения шарика слева направо по форме

Procedure TForm1.Button1Click(Sender: TObject); //копка перемещения

Var r,x,y,c:Integer; Begin r:=Form1.ClientHeight div 2; //радиус шара

x:=r;y:=Form1.ClientHeight‑r; With Canvas do//присоединение имени Canvas

For x:=x to Form1.ClientWidth‑r Do Begin //заголовок цикла вывода шарика

c:=clred; Pen.Color:=c; Brush.Color:=c; Ellipse (x‑r,y‑r,x+r,y+r);//вывод шара

c:=Form1.Color; Pen.Color:=c;Brush.Color:=c;Ellipse (x‑r,y‑r,x+r,y+r);//удал.

End;End;

Процедуру очистки и вывода рисунка удобно оформлять в виде обработчика события OnTimerобъектаTimer, которое происходит через временной интервал, определяемого свойствомIntervalэтого объекта.

2.3. Основные компоненты

2.3.1. Вывод текста

Текст обычно используется для оформления документов, повышения их наглядности и в качестве заголовков объектов, которые не имеют свойств Caption.

2.3.1.1. Текстовая надпись (Label)

Компонент предназначения для размещения на форме различных надписей (меток), например, заголовков объектов, которые не имеют свойствCaption. Если у надписи имеется клавиша быстрого доступа (акселератор) (п.2.1.7.2), то, используя свойствоFocusControl, можно указать на ас­социированный с ней объект, который становится в фокусе при нажатии клавишAlt+<акселератор>.

Примерустановки фокуса наLabel1 при нажатииAlt+1

Label1.Caption:=’&1 Фамилия сотрудника’; Label1.FocusControl:=Edit1;

Используя событиеOnClickдля надписи, можно установить фокус на нужном объекте щелчком мышки на надписи.

Пример

Procedure TForm1.Label1Click(Sender: TObject);//обработ. щелчка по Label1

Begin If Edit1.CanFocus then Edit1.SetFocus;End;//установка фокуса на Edit1

Надписи можно установить и другими компонентами, например,Edit, указав свойствоReadOnly:=TrueиText:=’<текст надписи>’.