Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в Delphi (повторение).doc
Скачиваний:
7
Добавлен:
04.05.2019
Размер:
2.74 Mб
Скачать

4.2. Событие и процедура обработки событий

Вид созданной формы подсказывает, как работает программа. Очевидно, что пользователь должен ввести в поля редактирования исходные данные и сде­лать щелчок на кнопке Стоимость. Щелчок на изображении командной кноп­ки – это пример того, что называется событием.

Событие (Event) – это то, что происходит во время работы программы. У каждого события есть имя. Например, щелчок кнопкой мыши – это собы­тие Click, двойной щелчок мышью – событие DblClick. Следует понимать, что одни и те же, но выполненные над разными объекта­ми, действия пользователя, вызывают разные события. Например, щелчок (событие click) на кнопке Расчёт и щелчок на кнопке Завершить – это два разных события.

Реакцией на событие должно быть какое-либо действие. В Delphi реакция на событие реализуется как процедура обработки события. Таким образом, для того чтобы программа выполняла некоторую работу в ответ на действия пользователя, программист должен написать процедуру обработки соответст­вующего события.

Методику создания процедуры обработки события рассмотрим на примерее обработки события click, которое возникает в результате щелчка на кнопке Стоимость. Для создания процедуры обработки события надо выполнить подготовительные действия:

• выбрать компонент, для которого создается процедура обработки события. Компонент можно выбрать щелчком на его изображении на форме или в рас­крывающемся списке окна Object Inspector;

• затем в окне Object Inspector нужно открыть вкладку Events (События). В левой колонке вкладки Events перечислены события, которые может воспринимать выбранный компонент. Строго говоря, на вкладке Events указаны не события, а свойства, значением которых являются имена процедур обработки событий. Так, например, значением свойства onclick является имя процедуры обработки события click. Дальнейшие действия можно выполнить разными способами, приводящими к одному результату – переход в Редактор кода, в котором будет создан каркас будущей процедуры обработки события.

Первый способ. Для создания процедуры обработки события, нужно на вкладке Events выбрать событие (сделать щелчок мышью на имени события), ввести в ставшее доступным поле редактирования имя процедуры обработки собы­тия и нажать клавишу <Enter>. В результате этих действий в тексте програм­мы (в модуле формы) будет объявлена процедура обработки события и станет доступным окно Редактора кода, в котором можно набирать инст­рукции процедуры обработки события.

Второй способ. Сначала нужно раскрыть вкладку Events и выбрать событие, процедуру обработки которого надо создать. Затем сделать двойной щелчок левой кнопкой мыши в поле редактирования, которое находится справа от имени события. В резуль­тате имя процедуры обработки события сформирует Delphi. Стандартное имя процедуры обработки события образуется путем объединения имени компо­нента, для которого создается процедура обработки события, и имени собы­тия, например,Button1Click.

Полное имя процедуры обработки события состоит из двух частей. Первая часть идентифицирует форму, вторая – компонент (объект) и событие.

В примере вычисления стоимости покупки объявление процедуры (формирует Delphi) имеет вид:

procedure Button1Click(Sender: TObject);

В разделе реализации модуля описание процедуры:

// щелчок на кнопке Стоимость

procedure TForm1.Button1Click(Sender: TObject);

begin

Summa(Edit3); // вычислить сумму покупки

end;

В табл. 4.6 приведены некоторые события, возникающие в результате дейст­вий пользователя [3].

Таблица 4.6

События

Событие

Происходит

Click

При щелчке кнопкой мыши

DblClick

При двойном щелчке кнопкой мыши

MouseDown

При нажатии кнопки мыши

MouseUp

При отпускании кнопки мыши

MouseMove

При перемещении мыши

KeyPress

При нажатии клавиши клавиатуры

KeyDown

При нажатии клавиши клавиатуры. События KeyDown и KeyPress — это чередующиеся, повторяющиеся события, кото­рые происходят до тех пор, пока не будет отпущена удерживае­мая клавиша (в этот момент происходит событие KeyUp)

KeyUp

При отпускании нажатой клавиши клавиатуры

Create

При создании объекта (формы, элемента управления). Процедура обработки этого события обычно используется для инициализа­ции переменных, выполнения подготовительных действий

Продолжение табл. 4.6

Enter

При получении элементом управления фокуса

Exit

При потере элементом управления фокуса