-
Использование ресурсов
Под ресурсами понимают дополнительную информацию к программе: картинки, иконки, виды курсоров. Такие данные хранятся в файле ресурсов (*.RES) и создаются с помощью редактора Image Editor в Tools.
Например, в файле ресурсов Primer.res создадим курсор TIR, иконку ZMEY, картинку PICT.
Для задания центра указателя для курсора используйте меню Cursor\Set Hot Spot:
Теперь каждый элемент можно подсоединить в программе, указав процедуры:
//для курсора- загружаем под индексом 1 и устанавливаем
screen.cursors[1]:=loadcursor(hinstance,'TIR');
screen.cursor:=1;
// для иконки
icon.Handle :=loadicon(hinstance,'ZMEY');
// для рисунка на Image1
Image1.picture.Bitmap.Handle:=loadbitmap(hinstance,'PICT');
Не забудьте вставить ключ компилятора для присоединения файла ресурса в модуле:
{$R *.dfm}
{$R Primer.res}
-
Анимация
Под анимацией понимается программное перемещение графического объекта. Для этого следует выполнить следующие действия:
-
Вывести объект на экран
-
Удалить объект с экрана
-
Вывести с некоторым смещением другой вариант объекта через определенное количество времени.
Если это рисованный объект, то придется его удалять методом прорисовки цветом фона.
Если это графический объект, то достаточно задать свойство Visible в True для показа и False для удаления с экрана. Свойства Left и Top отвечают за перемещение объекта. Очень часто используют ресурсы проекта для отображения таких картинок.
-
Создание диаграмм и графиков
При создании графиков требуется рисовать вспомогательные оси и другие элементы. Это требует много времени и сил. Поэтому для построения графиков можно использовать компоненту Chart типа TChart, меняя свойства этой компоненты.
Создадим на форме эту компоненту и еще список ListBox, текстовое поле Edit и кнопку Button.
Type
TForm1=class(TForm)
Edit1:TEdit;
ListBox1:TListbox;
Button1:TButton;
Chart1:TChart;
procedure Edit1Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
end;
Добавим в список необходимые данные:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
listbox1.items.add(edit1.text);
end;
В свойствах Chart1 изменим тип, количество точек и количество серийных построений.
procedure TForm1.Button1Click(Sender: TObject);
var
x,y:array[0..100]of real;
I, N:integer;
begin
N:=listbox1.items.count-1;
// Тогда добавление графика осуществляется методом Add:
Chart1.Series[0].Clear;
For i:=0 to N do begin
X[i]:= I;
Y[i]:= StrToFloat(listbox1.item[i]);
Chart1.Series[0].Add(y[i],floatToStr(x[i]),clred)
End;
end;
Кроме выведенных свойств можно добавить 3-х мерный вывод графика, таблицу данных, легенду и т.д.
Упражнения:
Создайте свой проект, используя рассмотренные компоненты на одну из следующих тем (можно предложить свою тему):
-
Построение графика линейной функции
-
Построение графика трехмерной функции в ДСК с осями X, Y, Z
-
Построение графика трехмерной функции в проекции
-
Создание графического редактора
-
Игра «Собери мозаику»
-
Игра «Тир»
-
Анимация графического объекта
-
Мой любимый мультик
-
Телевизор с переключением программ
-
Игра «Поймай убегающую мышь»