Полупрозрачная форма
Форма может быть полупрозрачной (рисунок 7.28). За полупрозрачность формы отвечают свойства AlphaBlend и AlphaBlendValue. Первое свойство включает и выключает эффект полупрозрачности, а второе определяет силу прозрачности.
Рисунок 7.28. Полупрозрачная форма
Например, рисунок 7.28 был получен следующим образом. Мы положили на форму компонент Image, загрузили в него картинку (свойство Picture), затем в форме установили свойство AlphaBlend в значение True и свойство AlphaBlendValue — в значение 150. После сборки и запуска программы получили эффект полупрозрачности.
Недоступная форма
Иногда бывает нужно просто запретить доступ к форме, не убирая ее с экрана. Для этого служит другое булевское свойство Enabled. Обычно оно равно значению True, но стоит ему присвоить противоположное значение, и после запуска приложения вы не сможете сделать форму активной.
Как вы понимаете, все описанные выше свойства доступны не только в окне свойств, но и в редакторе кода, т.е. в тексте программы. При работе с формой на уровне исходного кода вы также получаете доступ к некоторым дополнительным свойствам, которые не видны в окне свойств. Они будут рассматриваться по мере надобности.
События формы
Итак, со свойствами мы разобрались и пора сказать пару слов о возникающих при работе с формой событиях. С вашего позволения мы опустим те события формы, которые происходят во всех видимых на экране компонентах (мы о них расскажем позже, когда будем рассматривать компоненты). Перечислим лишь характерные события форм:
- 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). Позволяет перехватывать нажатия клавиш еще до того, как они дойдут до стандартного обработчика формы.
Дата добавления: 2016-02-09; просмотров: 784;