Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


События в Delphi и событийные процедуры



Объекты из библиотеки визуальных компонент (VCL) Delphi, равно как и объекты реального мира, имеют свой набор свойств и свое поведение — набор откликов на со­бытия, происходящие с ними. Список событий для дан­ного объекта, на которые он реагирует, можно посмот­реть, например, в Инспекторе объектов на странице собы­тий. (На самом деле, на этой странице представлен спи­сок свойств, которые имеют тип вроде TMouseMoveEvent и представляют из себя процедуры-обработчики событий. Существует соглашение по названиям данных свойств.


 




Например, OnDblClick соответствует двойному щелчку мыши, a OnKeyUp — событию, когда нажатая клавиша была отпущена.) Среди набора событий для различных объектов из VCL есть как события, портируемые из Windows (MouseMove, KeyDown), так и события, порож­даемые непосредственно в программе (DataChange для TDataSource).

Поведение объекта определяется тем, какие обработ­чики и для каких событий он имеет. Создание приложе­ния в Delphi состоит из настройки свойств используемых объектов и создания обработчиков событий.

Простейшие события, на которые иногда нужно реаги­ровать — это, например, события, связанные с мышкой (они есть практически у всех видимых объектов) или со­бытие Click для кнопки TButton. Предположим, что вы хотите перехватить щелчок левой кнопки мыши на фор­ме. Чтобы сделать это, создайте новый проект, в Инспек­торе объектов выберите страницу событий и сделайте двой­ной щелчок на правой части для свойства OnClick. Вы получите заготовку для обработчика данного события.

Основные системные события

 

Событие Ситуация Реакция пользователя
OnActivc Форма только что стала активным окном программы Обновление любой информации, отображен­ной в форме
OnClose Имело место событие On Close Query, в ре­зультате этого форма закрывается Последняя возможность отменить закрытие формы
OnCloseQucry Windows запрашивает форму, не намерена ли она закрыться Пользователю предлага­ется сохранить все изме­нения данных или отменить закрытие
OnCreate Создание формы Выполнение необходимой инициализации
On Deactivate Форма только что пере­стала быть активным окном программы Отмена всех действий, выполняющихся в обра­ботчике события OnActivate
On Destroy Форма готова исчезнуть навсегда Очистка всех ресурсов, выделенных программой

 

Событие Ситуация Реакция пользователя
OnPaint Форму необходимо отобразить заново, так как она, например, была только что откры­та или восстановлена из пиктограммы Рисование линии или простейшей графической фигуры непосредственно в форме
OnResize Размеры формы были изменены Приведение в порядок размеров или расположе­ния компонентов после из­менений размеров формы

События мыши и клавиатуры вызываются воздействи­ями пользователя на программу. Системные события ис­ходят непосредственно от Windows, поэтому их ис­пользование не так очевидно.

Рлзрлботкл проекта в Delphi

Попробуем разработать наше первое объектно-ориен­тированное приложение в Delphi. Выполните следующие действия:

1. Включить ПК. Загрузить ОС Windows 95 и Delphi.

2. В окне Инспектора объектов измените свойства объек­та «Форма» так, как показано на рисунке:


3. Поместите на форму компонент Button со страницы Standart:

4. Измените свойство Caption этого нового объекта на «Моя кнопка».

5. Перейдите на страницу Events (События) в окне Инспектора объектов и создайте обработчик события OnClick для объекта Button как показано на рисунке:

6. Сохраните ваш проект с помощью кнопки быстрого доступа на панели инструментов главного окна Save all и запустите проект на исполнение с помощью кнопки быст­рого доступа Run:


8. Измените свойства этого объекта как показано на
рисунке, снова сохраните проект и запустите его на ис­
полнение.

- "

Kind ИМЙЕ j

Обратите внимание, что новая кнопка выполняет те же действия, что и ваша первая кнопка, однако при этом вы не написали ни строчки кода! Не правда ли, хорошо?

9. Снова вернитесь в визуальную среду программиро­
вания и добавьте на вашу форму компоненты Edit и Label.
Добавьте также еще одну кнопку Button2 на которой на­
пишите «Рассчитать» (свойство Caption). В результате
ваша форма примет следующий вид:


 


Кнопка быстрого доступа Кнопка быстрого доступа Run Save all

Ознакомьтесь с работой вашей программы. 7. Вернитесь в визуальную среду программирования и добавьте компонент BitBtn со страницы Additional.


10. Создайте обработчик события OnClick для кнопки «Рассчитать» и внесите в него следующий код: procedure TForm1.Button2Click(Sender: TObject); var x, y: real; begin

x: =StrToFloat(form1.Edit1.text);

y: =x*x;

form 1.Label1. Caption: =FloatToStr(y); end;


 




Полужирным курсивом здесь выделены те строчки, ко­торые вы пишете вручную сами, а остальные строчки Delphi напишет самостоятельно.

Вводимое пользователем значение считывается в пере­менную х из компонента Edit с использованием свойства Text этого компонента. Функция StrToFloat переводит строковые данные (а именно в виде строки свойство Text хранит введенное пользователем значение) в веществен­ное число. Функция FloatToStr производит обратный пе­ревод. Программа будет рассчитывать квадрат числа, вве­денного пользователем, и выдавать результат с помощью компонента Label и его свойства Caption.

11. Сохраните проект и запустите его на исполнение. Ознакомьтесь с работой программы.

12. Закройте программу и выйдите из визуальной сре­ды программирования. Выключите машину.

Задание. Самостоятельно создайте новый проект (в меню File\New Application) и разработайте программу для фун­кции:

/i=V7^i.

Контрольные вопросы____________________

1. Укажите номер, под которым ниже указано свой­
ство, в котором компонент Строка редактирования (Edit)
хранит введенное пользователем значение:

а) Caption;

б) Text;

в) Color.

2. Функция StrToFloat переводит:

а) строку в вещественное число;

б) вещественное число в строку;

в) строку в целое число;

г) целое число в строку.
Укажите номер правильного ответа.

3. Укажите номер, под которым ниже указано событие
мыши — двойной щелчок:

а) OnMouseDown;

б) OnClick;


в) OnDblClick.

4. В строке «Labell.Caption: ='y= '+'3'; » знак «+» озна­чает операцию:

а) сложения значения У и числа 3;

б) объединения строк 'у' и '3';

в) суммирования в переменную Y значения строки '3'.

Ответы________________________________

1. Правильный ответ — б.

2. Правильный ответ — а.

3. Правильный ответ — в.

4. Правильный ответ — б.


Поделиться:



Популярное:

  1. Б. Заголовок процедуры со списком формальных параметров.
  2. В которой появляется таинственная особа, и происходят многие события, неразрывно связанные с этим повествованием
  3. Великие события, описанные в Священном Писании, никогда не происходили. Об этом сообщается в газете La Repubblica. К такому выводу пришли израильские археологи на основании многолетних раскопок
  4. влияния травматического события (ШОВТС)
  5. Вопрос 5. Технические процедуры (методы) психоаналитической терапии.
  6. Воспроизведение события в действии
  7. Все события, описанные в книге, произошли на самом деле, а их участники дали свое письменное согласие на публикацию этих историй.
  8. Глава 3. Процедуры и функции
  9. Глава 7 ПЕРЦЕПТИВНЫЙ СДВИГ: ОСНОВНЫЕ ПРОЦЕДУРЫ
  10. Есть, конечно, и другие важные составляющие Delphi, вроде линейки инструментов, системного меню и многих других, нужных вам для точной настройки программы и среды программирования.
  11. Закаливающие процедуры и мероприятия
  12. Исторические события этого года


Последнее изменение этой страницы: 2016-06-04; Просмотров: 1056; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.026 с.)
Главная | Случайная страница | Обратная связь