Процедуры обработки событий
Для каждого объекта существует набор событий, на которые может реагировать объект. Алгоритм этой реакции задается процедурой пользователя обработки этого события либо стандартной процедурой (командой), которая называется методом. Текст процедуры набирается в программном окне, которое вызывается двойным щелчком по полю значения нужного события на странице Events Инспектора объектов. Имя процедуры состоит из имени формы, точки, имени объекта и имени события без первых двух букв «On».
Мышь
OnMouseDown/ OnMouseUp ‑ нажатие/отпускание любой кнопки мыши.
OnClick‑ щелчок левой кнопкой мыши по объекту.При нажатии кнопки мыши генерируются события в порядке: OnMouseDown, OnClick (для левой кнопки), OnMouseUp.
OnDblClick‑ двойной щелчок левой кнопкой мыши по объекту. События генерируются в порядке: OnMouseDown, OnClick, OnMouseUp, OnDblClick, OnMouseDown, OnMouseUp.
OnMouseMove‑ перемещение указателя мышки над объектом.
Процедуры обработки этих событий могут иметь следующие параметры:
Sender ‑ указывает имя объекта над которым находится маркер мыши. Для получения значения имени объекта можно использовать выражение вида: (Sender As TControl).Namе.
Пример: Label1.Caption:= ‘Объект ‘+(Sender As TControl).Namе;
Shift ‑ указывает на состояние (нажатие) клавиш Alt, Ctrl, Shift и кнопок мыши в виде комбинации констант (в квадратных скобках через запятые): ssShift (нажата клавиша Shift), ssAtt (Alt), ssCtrl (Ctrl), ssLeft (левая кнопка мыши), ssMiddle (средняя кнопка мыши), ssRight (правая кнопка мыши), ssDouble (выполнен двойной щелчок).
X,Y ‑ координаты указателя мышки в пикселях относительно левого верхнего угла формы, начиная с нуля.
Пример:
Procedure TForm1.Button1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin If (Sender=button1) And (ssCtrl in Shift) Then {можно Shift=ssCtrl}
Label1.Caption:='Нажаты кнопка мыши и Ctrl над кнопкой Button1'; end;
Клавиатура
OnKeyDown‑ непрерывно генерируется событие при удерживании любой клавиши в нажатом состоянии.
OnKeyPress‑ при каждом нажатии любой клавиши, кроме Tab.
OnKeyUp‑ при отпускании любой клавиши, кроме Tab.
События наступают в последовательности их описания.
Процедуры обработки этих событий могут иметь следующие параметры: Sender (имя объекта), Shift (описан выше) и Key.
Параметр ‑ переменная Key задает символ, в KeyPress, или его код (именованная константа (п. 1.1.1)), который соответствует нажатой клавише. Если в процедуре обработки события параметру Key задать символ с нулевым кодом (#0), то это вызовет отмену нажатия клавиши.
Пример ввода только цифровых символов, другие игнорируются:
Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Begin If (key <'0') Or (key >'9') Then Key:=#0; End;
Дата добавления: 2016-03-22; просмотров: 629;