Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция01.docx
Скачиваний:
1
Добавлен:
23.12.2018
Размер:
147.25 Кб
Скачать

События.

Компоненты Дельфи программируются с использованимем 3х элементов языка – свойств, методов и событий.

События – это не в полнее новый механизм, т.к. технически события это свойство, которое в отличии от других свойств ссылается не на данные а на методы. Т.е. событие – это свойство типа “указатель на метод”.

События в Дельфи генерируются, например, в следующих случаях, например, когда пользователь воздействует на компонент (щелкает мышкой).

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

Большинство событий в Дельфи инициируется при получении соответствующего сообщения Windows, хотя событие и не образует взаимно-однозначного соответствия с этими сообщения.

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

Сообщение – это определенная запись, передаваемая приложению. Она содержит сведения о том, что произошло в системе, а также дополнительную информацию, зависящую от типа сообщения. Система сообщений Windows состоит из трех компонентов,:

1)-очередь сообщений (отдельная для каждого приложения)

Приложение получает сообщения из очереди и передает их соответствующему окну.

2)-цикл сообщений

Группа циклически выполняемых операторов приложения, осуществляющих выборку сообщений из очереди и передачу их соответствующему окну для обработки.

3)-процедура окна

Каждое окно приложения имеет собственную процедуру, которая получает все передаваемые окну сообщения, в ответ она должна выполнить определенные действия.

Программа библиотеки VCL выполняет существенную часть обработки сообщений Виндовс в приложении. Прикладной программист не заботится о выборке сообщений из очереди и передачи их соответствующим процедурам окон.

В отличии от событий в Дельфи, обработка сообщений является обязательной и не может выполняться или не выполняться по усмотрению программиста.

Система событий дельфи представляет собой интерфейс для взаимодействия с сообщениями Windows (с некоторой их частью). Многие события компонентов непосредственно связаны с сообщениями Windows, кроме того Дельфи генерирует ряд дополнительных межкомпонентных сообщений.

С теоретической точки зрения , событие – это результат запроса, посланного компоненту или элементу управления, при этом компонент или элемент управления может ответить на это сообщение.

Для того, чтобы обработать например щелчок на кнопке , необходимо написать обработчик и логично сделать его методом класса кнопки. Для этого пришлось бы создать новый подкласс от класса TButton. На практике создавать новый класс для каждого компонента, который требуется использовать не рационально, т.к. создание класса достаточно сложная операция.

Обычно в Дельфи обработчик события компонента это метод формы, содержащей этот компонент а не метод этого самого компонента. Т.е. обработка событий, имеющих отношение к компоненту выполняется средствами владельца этого компонента, т.е. формы, на которой он расположен. Такая технология называется делегированием и она является основой компонентной модели Дельфи.