Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подія і процедура обробки події






Вид створеної форми підказує, як працює додаток. Очевидно, що користувач повинний ввести в поля редагування вихідні дані і клацнути мишею на кнопці Обчислити. Щиглик на зображенні командної кнопки — це приклад того, що в Windows називається подією. Подія (Event) — це те, що відбувається під час роботи програми. У Delphi кожній події привласнене ім'я. Наприклад, щиглик кнопкою миші - це подія OnClick, подвійний щиглик мишею подія OnDblClick. У табл. 3 приведені деякі події Windows.

Таблиця 3. Події

       
  Подія Відбувається  
  OnClick При щиглику кнопкою миші  
  OnDblClick При подвійному щиглику кнопкою миші  
  OnMouseDown При натисканні кнопки миші  
  OnMouseUp При відпусканні кнопки миші  
  OnMouseMove При переміщенні миші  
  OnKeyPress При натисканні клавіші клавіатури  
  OnKeyDown При натисканні клавіші клавіатури. Події OnKeyDown і OnKeyPress — це чергуються, повторювані події, що відбуваються доти, поки не буде відпущена утримувана клавіша (у цей момент відбувається подія OnKeyUp)  
  OnKeyUp При відпусканні натиснутої клавіші клавіатури  
  OnCreate При створенні об'єкта (форми, елемента керування). Процедура обробки цієї події звичайно використовується для ініціалізації перемінних, виконання підготовчих дій  
  OnPaint З появою вікна на екрані на початку роботи програми, після появи частини вікна, що, наприклад, була закрита іншим вікном, і в інших випадках  
  OnEnter При одержанні елементом керування фокуса  
  OnExit При втраті елементом керування фокуса  

Реакцією на подію повинне бути яка-небудь дія. У Delphi реакція на подію реалізується як процедура обробки події. Таким чином, для того щоб програма виконувала деяку роботу у відповідь на дії користувача, програміст повинний написати процедуру обробки відповідної події. Варто звернути увагу на те, що значну частину обробки подій бере на себе компонент. Тому програміст повинний розробляти процедуру обробки події тільки в тому випадку, якщо реакція на подію відрізняється від стандартної або не визначена. Наприклад, якщо за умовою задачі обмежень на символи, що вводяться в поле Edit, нема, то процедуру обробки події OnKeyPress писати не треба, тому що під час роботи програми буде використана стандартна (схована від програміста) процедура обробки цієї події.

Методику створення процедур обробки подій розглянемо на прикладі процедури обробки події OnClick для командної кнопки Обчислити. Щоб приступити до створення процедури обробки події, треба спочатку у вікні Object Inspector вибрати компонент, для якого створюється процедура обробки події. Потім у цьому ж вікні потрібно вибрати вкладку Events (Події).

У лівому стовпчику вкладки Events (рис. 9) перераховані імена подій, що може сприймати обраний компонент (об'єкт). Якщо для події визначена (написана) процедура обробки події, то в правому стовпчику поруч з ім'ям події виводиться ім'я цієї процедури. Для того щоб створити функцію обробки події, потрібно зробити подвійного щиглика мишею в поле імені процедури обробки відповідної події. У результаті цього відкриється вікно редактора коду, у которое буде доданий шаблон процедури обробки події, а у вікні Object Inspector поруч з ім'ям події з'явиться ім'я функції його обробки (рис. 10). Delphi привласнює функції обробки події ім'я, що складається з двох частин. Перша частина імені ідентифікує форму, що містить об'єкт (компонент), для якого створена процедура обробки події. Друга частина імені ідентифікує сам об'єкт і подію. У нашому прикладі ім'я форми — Form1, ім'я командної кнопки — Buttoni, а ім'я події -Click.

У вікні редактора коду між словами begin і end можна друкувати інструкції, що реалізують функцію обробки події.

Рис. 9. На вкладці Events перераховані події, що може сприймати компонент (у даному випадку — командна кнопка)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.