событие | описание |
OnChange | Генерируется при изменении значения объекта. Это событие определено для большинства компонентов и генерируется, как правило, в результате изменения базового свойства. |
OnCreate | Генерируется при создании формы |
OnClose | Генерируется при закрытии формы |
OnCloseQuery | Генерируется перед закрытием формы |
OnEnter | Генерируется при получении объектом фокуса ввода |
OnExit | Генерируется при потере объектом фокуса ввода |
OnActivate | Генерируется при активации приложения или формы |
OnDblClick | Генерируется при двойном щелчке мыши на объекте |
OnDeactivate | Генерируется при деактивации приложения или потере формой фокуса ввода |
OnDragDrop | Генерируется при перемещении объекта с помощью мыши после того, как будет отпущена кнопка мыши. Объект может принять перетаскиваемый объект только в том случае, если параметр Accept события или OnDragOver имеет значение True. |
OnOnDragOver | Генерируется при перемещении объекта с помощью мыши, когда перетаскиваемый объект находится над элементом управления, для которого возбуждено событие. |
OnEndDrag | Генерируется после окончания процесса перемещения объекта с помощью мыши |
OnException | Генерируется при возбуждении исключения |
OnHelp | Генерируется при запросе на получение справочной информации |
OnHint | Генерируется при попадании указателя мыши на объект |
OnIndl | Событие возбуждается для неактивного приложения, находящегося в режиме ожидания. Частота возбуждения события зависит от приоритета ожидания приложения, определяемого операционной системой. |
OnKeyDown, OnKeyPress, OnKeyUp | Событие, генерирующиеся при использовании клавиш и их сочетаний. Сначала (при нажатии клавиш и их сочетаний) возбуждается событие OnKeyDown, а затем (при отпускании клавиш) возбуждается событие OnKeyUp. Событие OnKeyPress генерируется для символьных клавиш. |
OnMinimize | Генерируется при сворачивании окна приложения до размера кнопки панели задач Windows |
OnMouseDown, OnMouseUp | Генерируется при использовании мыши: OnMouseDown – при нажатии, OnMouseUp – при отпускании. |
OnMouseMove | Генерируется при перемещении мыши |
OnPaint | Генерируется при перерисовке формы |
OnRestore | Восстановление окна приложения из свернутого состояния до нормального размера |
OnStartDrag | Генерируется в начале процесса перемещения объекта с помощью мыши, когда перетаскиваемый объект выделен, а левая кнопка мыши нажата и удерживается |
OnTimer | Генерируется через заданные промежутки времени |
|
Разберем на примерах некоторые события:
События от клавиатуры
Библиотека визуальных компонентов (VCL) реализует три обработчика события, предназначаемых для контроля за вводом данных пользователя с клавиатуры:
OnKeyDown
OnKeyPress
OnKeyUp.
Эти события позволяют программировать последовательность действий, зависящую от нажатия любых клавиш или их комбинаций.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
Begin
{проверка нажатия сочетания клавиш Alt+Ctrl}
if (shift =([ssAlt, ssCtrl])) then form1.color:= clAqua;
if (shift =([ssShift, ssCtrl])) then form1.color:= clRed;
if (shift =([ssAlt, ssCtrl])) then form1.color:= clGreen;
if (shift =([ssAlt,ssCtrl,ssShift])) then form1.color:= clBlue;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
Begin
form1.Caption:='Привет!!!';
end;
Значение | Описание |
ssShift | Нажата клавишаShift. |
ssAlt | Нажата клавишаAlt |
ssCtrl | Нажата клавиша Ctrl |
ssLeft | Нажата клавиша левая кнопка мыши |
ssRight | Нажата клавиша правая кнопка мыши |
ssMiddle | Нажата клавиша средняя кнопка мыши |
ssDouble | Выполнен двойной щелчок |
|
Для символьных клавиш генерируется событие OnKeyPress.
Пример.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Begin
if not (Key in ['0'..'9',#8]) then Key:=#0;
end;
События от мыши
В VCL-библиотеке предопределено три обработчика события для действий с мышью:
OnMouseDown–произошло нажатие кнопки мыши;
OnMouseMove–кнопка мыши отпущена;
OnMouseUp –выполняется перемещение мыши.
Процедуры обработки этих событий используют следующие параметры:
Sender – объект, для которого выполняются действия мыши;
Button–указывает нажатую кнопку мыши: mbLeft, mbMiddle или mbRight;
Shift – указывает, были ли нажаты клавиши Alt, Ctrl и Shift;
X,У–координаты точки, в которой произошло событие.
Пример:
{Отображение строки текста в том месте формы, в котором была нажатакнопка мыши}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
Canvas.TextOut(X, Y, 'Текст');
end;
В VCL-библиотеке предопределено два обработчика события для щелчков мышью:
OnClick;
OnDblClick.
Пример.
procedure TEditl.Click (Sender: TObject)
Begin
//Определение компонента, инициировавшего событие
if ActiveControl is TEdit then TEdit(ActiveControl).SelectAll;
end;
procedure TForm1.Edit2DblClick(Sender: TObject);
Begin
ShowMessage ('двойной щелчок');
end;