1. Событие нажатие на клавиши
Пример программы, осуществляющая движение графического окна с помощью клавиатуры.uses GraphABC,Events;
procedure KeyDown(Key: integer);
begin
case Key of
VK_Left: SetWindowLeft(WindowLeft-2);
VK_Right: SetWindowLeft(WindowLeft+2);
VK_Up: SetWindowTop(WindowTop-2);
VK_Down: SetWindowTop(WindowTop+2);
end;
end;
begin
SetWindowCaption('Двигайте окно стрелками');
OnKeyDown:=KeyDown;
end.
Задание 1. Увеличьте шаг движения окна с помощью клавиатуры.
Задание 2. Измените программу таким образом, чтобы при нажатии на курсор влево окно двигалось по диагонали влево и вниз, при нажатии курсора вправо - вправо и вверх.
uses GraphABC,Events;
procedure Resize;
begin
FillRect(0,0,WindowWidth,WindowHeight);
Ellipse(0,0,WindowWidth,WindowHeight);
end;
begin
OnResize:=Resize;
Resize;
end.
Задание 4. Измените в программе эллипс на ромб, вершины которого лежат на середине сторон окна.
2. Событие изменение размеров графического окна
Пример программы, меняющей форму и размеры эллипса в зависимости от изменения размеров окна.uses GraphABC,Events;
procedure Resize;
begin
FillRect(0,0,WindowWidth,WindowHeight);
Ellipse(0,0,WindowWidth,WindowHeight);
end;
begin
OnResize:=Resize;
Resize;
end.
Задание 4. Измените в программе эллипс на ромб, вершины которого лежат на середине сторон окна.
Комментариев нет:
Отправить комментарий