Читайте также: |
|
Постановка задачи. В центре формы находится небольшая картинка кого-нибудь, например, гепарда. По нажатию клавиш со стрелками гепард перемещается по форме.
Реализация. Нарисуйте гепарда в графическом редакторе Paint
и сохраните его в папке проекта. Загрузите его из файла как растровый рисунок типа TBitMap. Пусть координаты этого образа будут x 1, y 1. С помощью метода Draw выведем рисунок в центр формы.
cw:=clientwidth;
ch:=clientheight;
x1:=cw div 2;
y1:=ch div 2;
Form1.Canvas.Draw(x1,y1, bit1);
На вкладке Additional найдем компонент TApplicationEvents и положим его на форму в любое место. Он невидимый. Откроем вкладку «Events» (события), найдем событие OnShortCut и справа напротив OnShortCut кликнем дважды мышью. Откроется обработчик TForm1.ApplicationEvents1ShortCut, который возвращает переменную Msg, содержащую код нажатой клавиши. В этой процедуре опишем изменение координат х 1, у 1 при нажатии клавиш со стрелками.
До изменения координат образ «стираем», т. е. закрашиваем цветом формы. Для закрашивания напишите свою процедуру clear (x,y:integer). После изменения координат х 1, у 1 образ вновь копируем на форму. Напишем код обработчика события OnShortCut:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
clear(x1,y1); // Стираем образ
case Msg.CharCode of
37:if x1>dx1 then
x1:=x1-dx1; {влево}
40:if y1+30<ch-dy1 then
y1:=y1+dy1; {вниз}
38:if y1>dy1 then
y1:=y1-dy1; {вверх}
39:if x1+30<cw-dx1 then
x1:=x1+dx1; {вправо}
end;
Form1.Canvas.Draw(x1,y1,bit1); // Выводим образ
end;
В обработчике TForm1.BitBtn1Click события OnClick кнопки BitBtn 1 напишем следующий код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin { Загрузить рисунок }
Bit1.loadfromfile('гепард.bmp');
bit1.Transparent:=true;
Form1.Canvas.Draw(x1,y1,bit1);
end;
Дата добавления: 2015-08-20; просмотров: 51 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Код клавиши | | | Совмещение управляемого и неуправляемого движений. |