КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Реакции на события
Begin Объектно-событийное программирование. События Begin Var Label1:TLabel; Label1:= TLabel.Create(Self); Label1.Parent:=Self; Label1.Caption:='Дочерний элемент'; end; Если убрать оператор Label1.Parent:=Self;
то метка Label1 никогда не узнает о том, что пришла пора прорисовать себя на экране и ее текст не будет виден. Наоборот, изменение свойства Parent подключает метку к списку дочерних элементов формы, и оконная функция формы обратится к нужному методу метки, чтобы заставить ее появиться на экране в момент появления самой формы.
Программистам, работающим в Windows можно не пояснять смысл слова событие. Сама среда Windows и написанные в ней программы управляются событиями, возникающими в результате действия пользователя, а также аппаратуры ПК и других программ. Программирование, ориентированное на события - неотъемлемая черта Windows. Delphi предоставляет полный доступ к подструктуре событий, предоставляемой Windows. С другой стороны, Delphi упрощает программирование обработчиков таких событий. Событие – это свойство процедурного типа, предназначенное для создания пользовательской реакции на те или иные входные воздействия:
Property OnMyEvent:TMyEvent read FOnMyEvent write FOnMyEvent;
Здесь OnMyEvent – имя свойства, TMyEvent – процедурный тип; FOnMyEvent – есть поле объекта, содержащее адрес некоторого метода. Присвоить свойству значение – значит указать объекту адрес метода, который будет вызван в момент наступления события. В Delphi принято называть событиями специальные свойства процедурного типа, которым в качестве значений присваиваются имена методов, где описана реакция на событие. Такие методы называются обработчиками событий. Все события Delphi принято предварять префиксом On. Например, OnClick – событие при щелчке клавиши мыши, OnKeyPress – при нажатии любой клавиши клавиатуры, OnCreate – при создании компонента, OnMouseMov e – при перемещении мыши.
Щелкнув в инспекторе объектов на странице Events в поле нужного события, вы получите в программе заготовку метода нужного типа. При этом имя метода будет состоять из имени текущего компонента и имени события (без префикса on), относиться он будет к текущей форме. Например, пусть на форме Form1 есть кнопка Button1, тогда для обработки щелчка мыши на кнопке (событие OnClick) будет создана заготовка метода:
procedure Form1.Button1Click(Sender:TObject); ......{вставить программный код} end;
Приложения Delphi являются интерактивными системами, в которых для организации взаимодействия между пользователем и программой используют методы, управляемые событиями. Приложение Delphi реагирует на событие - сигналы от мыши, клавиатуры и системные события (например, в результате нарушения системных ограничений). Различные объекты могут реагировать на различные совокупности событий. Для организации реакции на события можно: 1. Проигнорировать событие, т.е. не писать процедуры для реакции на это событие, при этом поведение объекта определяется по умолчанию; 2. Перехватить событие, для этого надо написать текст процедуры – обработчика события, при этом можно модифицировать или изменить поведение объекта, задаваемое по умолчанию. Это может быть, например, изменение вида курсора при попадании в определенную область на экране или изменение доступности компонента с помощью свойства Enabled. Например, последовательность действий при перехватывании события OnClick - щелчка мыши для управляющей кнопки Button1, состоит в следующем: 1. Возникает событие нажатия на кнопку с именем Button1, для этого пользователь установит курсор на кнопку и нажмет левую клавишу мыши (т.е. осуществит щелчок мыши по кнопке Button1), возникнет событие по имени OnClick - щелчок на кнопке;
2. Объект Button1 перехватывает это событие, так как для него имеется обработчик события; 3. Delphi ищет процедуру с именем, соответствующим имени задействованного объекта (Button1) и имени события (OnClick), т.е. процедуру Button1Click. Имя процедуры обработчика события состоит из Buttonl1 – имени объекта, на котором произошло событие, и Click – имени события (без префикса On). Разработчик приложения с помощью Delphi должен писать только обработчики событий. Перехват событий и организацию вызова обработчиков событий реализует программа Delphi.
Дата добавления: 2015-07-02; Просмотров: 387; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |