Процедуры обработки событий

Для каждого объекта существует набор событий, на которые может реагировать объект. Алгоритм этой реакции задается процедурой поль­зователя обработки этого события либо стандартной процедурой (коман­дой), которая называется методом. Текст процедуры набирается в прог­рам­мном окне, которое вызывается двойным щелчком по полю зна­чения нуж­но­го события на странице 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; просмотров: 576;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.