Событие Переменная
нажатие мыши OnMouseDown
отпускание мыши OnMouseUp
перемещение мыши OnMouseMove
нажатие клавиши OnKeyDown
отпускание клавиши OnKeyUp
нажатие символьной клавиши OnKeyPress
изменение размеров графического окна OnResize
закрытие графического окна OnClose
До начала работы программы эти переменные имеют нулевые значения.
Чтобы при возникновении некоторого события выполнить определенное действие, необходимо в программе присвоить процедурной переменной конкретную процедуру, выступающую в роли обработчика события. При возникновении одного из перечисленных выше событий проверяется, содержит ли соответствующая процедурная переменная ссылку на процедуру-обработчик, и если да, то данная процедура-обработчик вызывается.
Процедуры-обработчики имеют такие параметры:
OnMouseDown, OnMouseUp, OnMouseMove: - (x,y,mousebutton: integer);
OnKeyDown, OnKeyUp: - (key: integer);
OnKeyPress: - (ch: char);
OnResize, OnClose: - без параметров
Параметры x и y в обработчиках OnMouseDown, OnMouseUp и OnMouseMove определяют координаты курсора мыши в момент наступления события, параметр mousebutton равен 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. Параметр key в обработчиках OnKeyDownи OnKeyUp определяет виртуальный код нажатой клавиши. Параметр ch в обработчике OnKeyPress определяет нажатый символ. Если переменная-событие OnKeyPress имеет обработчик, то графическое окно не закрывается по нажатию клавиши Esc.
Например, если определена следующая процедура-обработчик, и в основной программе она привязана к соответствующей переменной-событию: OnMouseDown:=MouseDown; , то всякий раз при щелчке мышью в графическом окне в окно вывода будет выводиться 1.
Пример: Программа, осуществляющая движение графического окна с помощью клавиатуры.
uses GraphABC,Events;
|
Дата добавления: 2014-12-18; просмотров: 727;