Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

2.1.7.11. Наследование родительских свойств

ParentXXX (например, ParentColor, ParentCtl3D, ParentFont или ParentShowHint) ‑ указывает (True), что значение свойства XXX приравни­вает­ся значению одноименного свойства из родительского компонента. Это позволяет наследовать значения свойств своих родителей.

2.1.8. События

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

Для каждого объекта существует набор событий, на которые может реагировать объект. Алгоритм этой реакции задается процедурой поль­зователя обработки этого события либо стандартной процедурой (коман­дой), которая называется методом. Текст процедуры набирается в прог­рам­мном окне, которое вызывается двойным щелчком по полю зна­чения нуж­но­го события на странице Events Инспектора объектов. Имя процедуры состоит из имени формы, точки, имени объекта и имени события без первых двух букв “On”.

2.1.8.2. Мышь

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;

2.1.8.3. Клавиатура

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;