PascalABC.NET

События модуля GraphABC

Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна. Данные события определены в модуле GraphABC и представляют собой процедурные переменные:
 

OnMouseDown: procedure (x,y,mousebutton: integer);
        Событие нажатия на кнопку мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши
OnMouseUp: procedure (x,y,mousebutton: integer);
        Событие отжатия кнопки мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если отжата левая кнопка мыши, и 2, если отжата правая кнопка мыши 
OnMouseMove: procedure (x,y,mousebutton: integer);
        Событие перемещения мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. 
OnKeyDown: procedure (key: integer);
        Событие нажатия клавиши. key - виртуальный код нажатой клавиши
OnKeyUp: procedure (key: integer);
        Событие отжатия клавиши. key - виртуальный код отжатой клавиши
OnKeyPress: procedure (ch: char);
        Событие нажатия символьной клавиши. ch - символ, генерируемый нажатой символьной клавишей
OnResize: procedure;
        Событие изменения размера графического окна
OnClose: procedure;
        Событие закрытия графического окна

Если переменной-событию присвоена некоторая процедура, она называется обработчиком данного события и автоматически вызывается при наступлении указанного события.

Параметры x и y в обработчиках OnMouseDown, OnMouseUp и OnMouseMove определяют координаты курсора мыши в момент наступления события, параметр mousebutton равен 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. Параметр key в обработчиках OnKeyDown и OnKeyUp определяет виртуальный код нажатой клавиши. Параметр ch в обработчике OnKeyPress определяет нажатый символ.

Пример 1. Рисование мышью в окне.

Пример 2. Перемещение окна с помощью клавиатуры.