вторник, 16 апреля 2013 г.

Модуль Events (продолжение)

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. Измените программу таким образом, чтобы при нажатии на курсор влево окно двигалось по диагонали влево и вниз, при нажатии курсора вправо - вправо и вверх.

2. Событие изменение размеров графического окна

Пример программы, меняющей форму и размеры эллипса в зависимости от изменения размеров окна.

uses GraphABC,Events;

procedure Resize;
begin
  FillRect(0,0,WindowWidth,WindowHeight);
  Ellipse(0,0,WindowWidth,WindowHeight);
end;

begin
  OnResize:=Resize;
  Resize;
end. 
Задание 4. Измените в программе эллипс на ромб, вершины которого лежат на середине сторон окна.


Комментариев нет:

Отправить комментарий