Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба2.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.62 Mб
Скачать

Некоторые итоги

    Перед тем как навсегда расстаться с нашей первой программой, сформулируем главные выводы, полученные в ходе работы с ней.

  1. Процесс создания Delphi-программы разбивается на две фазы: фазу конструирования формы и фазу кодирования.

  2. Конструирование формы осуществляется с помощью выбора компонентов из палитры и размещения их на форме.

  3. Программист может перемещать любой размещенный на форме компонент и изменять его размеры с помощью мыши.

  4. Чтобы придать компоненту нужные свойства, используется страница Properties Инспектора объектов.

  5. Чтобы компонент мог откликаться на то или иное событие, программист должен создать обработчик события и указать его имя на странице Events Инспектора объектов.

  6. Обработчик события оформляется в виде процедуры, имеющей составное имя. Первая часть имени представляет собой имя класса для формы, вторая часть отделяется от первой точкой и может быть произвольной. Если Delphiавтоматически формирует заготовку для обработчика, то вторая часть имени представляет собой объединение имени компонента и имени события без предлога On.

  7. Тело процедуры ограничено словами begin..end и состоит из отдельных предложений (операторов) языка Object Pascal. В конце каждого предложения ставится точка с запятой.

  8. Свойства компонента могут изменяться на этапе выполнения программы.

На этом шаге мы перечислим основные события, которые могут быть обработаны формой. 

    Так как форма (компонент типа TForm) является базовым интерфейсным элементом для всех программ, создаваемых в среде Delphi, уместно начать знакомство с обработчиков, имеющихся у компонента TForm. Напомним, что их перечень можно увидеть в Инспекторе Объектов на вкладке Events:

Рис.1. Перечень событий, обрабатываемых формой

    Перечислим наиболее часто используемые:

  • OnActivate - возникает при активизации формы;

  • OnClose - возникает при закрытии формы;

  • OnCloseQuery - разрешает/отменяет закрытие формы;

  • OnCreate - возникает при создании формы;

  • OnDestroy - возникает при закрытии формы;

  • OnHide - возникает при "скрытии" формы;

  • OnPaint - возникает при необходимости перерисовки формы;

  • OnResize - возникает при изменении размеров формы;

  • OnShow - возникает при отображении формы.

    Большинство событий и их обработчиков присущи и другим компонентам, поэтому они рассматриваются в следующих шагах. Здесь мы остановимся на событиях, характерных непосредственно для формы. Отметим, что эти события носят в большинстве своем нотификационный (уведомляющий) характер и имеют тип TNotifyEvent, описанный следующим образом:

TNotifyEvent = procedure (Sender: TObject) of object;

но ряд обрабатываемых формой событий требует передачи дополнительной информации. К их числу относятся, например, события OnActivate, OnClose и OnCloseQuery. Нотификационные сообщения не несут в себе никакой информации о самом событии, только содержат указатель на источник события - параметр Sender.

Событие OnActivate

    Форма получает событие OnActivate при ее активизации. Активизация формы может произойти при получении ею фокуса, например, когда пользователь нажал кнопку мыши в рабочей области формы. Для дочерних окон MDI-форм (форм, созданных со значением свойства FormStyle, равным fsMDIChild) событие OnActivate возникает при переключении фокуса на данное окно. Если же происходит переключение фокуса с обычного дочернего окна на MDI-дочернее окно, то это событие получает родительское MDI-окно.

    Событие OnActivate носит нотификационный характер.

    К началу