Изпращане на събития
Разпращане на събития - Компоненти, свързани с ActionList
- размер на шрифта намалете размера на шрифта увеличете размера на шрифта
- Печат
Разпращане на събития - Компоненти, свързани с ActionList
Започвайки с Delphi 4, се появи набор от инструменти, който без добавяне на някакви принципно нови функции ви позволява да организирате и рационализирате разработването на обектно-ориентирани приложения. Освен това компетентното му използване спестява много време по време на проектирането. За организиране на изпращане на събития са въведени следните концепции.
Действие - изпълнението на някакво поведение, което е реакция на действието на потребителя, като щракване върху бутон или върху раздел от менюто, който инициира действие. Класът TAction и редица негови потомци са разработени, които реализират много стандартни действия, типични за Windows приложения.
Списъкът с действия е компонент от типа ActionList, който съдържа действия, предоставени в приложението. Това е интерфейс за разработчици, който организира работата му с действия по време на процеса на проектиране.
Редакторът на връзки е обект TActionLink, който поддържа връзка между действия и инициатори на действия. Линкерът определя какво действие трябва да се извърши за даден инициатор.
Целта на дадено действие е обект, който отразява резултата от дадено действие. Това може да бъде прозорец за показване или редактиране на текст, набор от данни и т.н.


Прозорец за избор на стандартни действия
На страницата за събития на Object Inspector са определени три събития за всяко действие: OnExecute, OnUpdate и OnHint.
Събитието OnExecute се случва, когато потребителят инициализира действие, например чрез щракване върху компонента (раздел от менюто, бутон), свързан с това действие. Манипулаторът за това събитие трябва да съдържа процедура, която изпълнява това действие. Например манипулаторът на събития за събитието OnExecute на действието Exit може да изглежда в най-простия случай
а в по-сложни случаи може да съдържа проверка за възможността да се затвори приложението, заявки към потребителя и т.н. Едно от предимствата на използването на действия е, че заглавията на манипулатора стават значими и кодът става по-прозрачен. Всъщност заглавката ExitExecute е много по-ясна от, например, Button7Click или N14Click (опитайте се да намерите в голямото си приложение къде този бутон е Button7 или раздел от менюто N14). В резултат на това се освобождавате от необходимостта да давате смислени имена на бутоните и разделите на менюто, т.е. улеснете работата си с компоненти.