Итак, со свойствами мы разобрались и пора сказать пару слов о возникающих при работе с формой событиях. С вашего позволения мы опустим те события формы, которые происходят во всех видимых на экране компонентах (мы о них расскажем позже, когда будем рассматривать компоненты). Перечислим лишь характерные события форм:
OnCreate — происходит сразу после создания формы. Обработчик этого события может установить начальные значения для свойств формы и ее компонентов, запросить у операционной системы необходимые ресурсы, создать служебные объекты, а также выполнить другие действия прежде, чем пользователь начнет работу с формой. Парным для события OnCreate является событие OnDestroy.
OnDestroy — происходит непосредственно перед уничтожением формы. Обработчик этого события может освободить ресурсы, разрушить служебные объекты, а также выполнить другие действия прежде, чем объект формы будет разрушен.
OnShow — происходит непосредственно перед отображением формы на экране. Парным для события OnShowявляетсясобытие OnHide.
OnHide — происходит непосредственно перед исчезновением формы с экрана. Парным для события OnHideявляетсясобытие OnShow.
OnActivate — происходит, когда пользователь переключается на форму, т.е. форма становится активной. Парным для события OnActivateявляетсясобытие OnDeactivate.
OnDeactivate — происходит, когда пользователь переключается на другую форму, т.е. текущая форма становится неактивной. Парным для события OnDeactivateявляетсяOnActivate.
OnCloseQuery — происходит при попытке закрыть форму. Запрос на закрытие формы может исходить от пользователя, который нажал на рамке формы кнопку "Закрыть", или от программы, которая вызвала у формы метод Close. Обработчику события OnCloseQuery передается по ссылке булевский параметр CanClose, разрешающий или запрещающий действительное закрытие формы.
OnClose— происходит после события OnCloseQuery, непосредственно перед закрытием формы.
OnContextPopup — происходит при вызове контекстного меню формы.
OnMouseDown — происходит при нажатии пользователем кнопки мыши, когда указатель мыши наведен на форму. После отпускания кнопки мыши в компоненте происходит событие OnMouseUp. При перемещении указателя мыши над формой периодически возникает событие OnMouseMove, что позволяет отслеживать позицию указателя.
OnMouseWheelUp — происходит, когда колесико мыши проворачивается вперед (от себя).
OnMouseWheelDown — происходит, когда колесико мыши проворачивается назад (на себя).
OnMouseWheel — происходит, когда колесико мыши проворачивается в любую из сторон.
OnStartDock — происходит, когда пользователь начинает буксировать стыкуемый компонент.
OnGetSiteInfo — происходит, когда стыкуемый компонент запрашивает место для стыковки.
OnDockOver — периодически происходит при буксировке стыкуемого компонента над формой.
OnDockDrop — происходит при стыковке компонента (см. главу 10).
OnEndDock — происходит по окончании стыковки компонента.
OnUnDock — происходит, когда пользователь пытается отстыковать компонент.
OnDragDrop — происходит, когда пользователь опускает в форму буксируемый объект.
OnDragOver — периодически происходит при буксировке объекта над формой.
OnCanResize — происходит при попытке изменить размеры формы. Запрос на изменение размеров может исходить от пользователя. Обработчику события OnCanResize передается по ссылке булевский параметр Resize, разрешающий или запрещающий действительное изменение размеров формы.
OnResize — происходит при изменении размеров формы.
OnConstrainedResize — происходит при изменении размеров формы и позволяет на лету изменять минимальные и максимальные размеры формы.
OnShortCut — происходит, когда пользователь нажимает клавишу на клавиатуре (до события OnKeyDown, см. параграф 7.5.5). Позволяет перехватывать нажатия клавиш еще до того, как они дойдут до стандартного обработчика формы.