Свойства компонентов, динамическое изменение свойств. События и обработчики событий. Методы компонентов
Свойство является важным атрибутом компонента. Свойства служат двум главным целям. Во-первых, они определяют внешний вид формы или компонента. А во-вторых, свойства определяют поведение формы или компонента.
Существует несколько типов свойств, в зависимости от их “природы”, т.е. внутреннего устройства.
Простые свойства - это те, значения которых являются числами или строками. Например, свойства Left и Top принимают целые значения, определяющие положение левого верхнего угла компонента или формы. Свойства Caption и Name представляют собой строки и определяют заголовок и имя компонента или формы.
Перечислимые свойства - это те, которые могут принимать значения из предопределенного набора (списка). Простейший пример - это свойство типа Boolean, которое может принимать значения True или False.
Вложенные свойства - это те, которые поддерживают вложенные значения (или объекты). Object Inspector изображает знак “+” слева от названия таких свойств. Имеется два вида таких свойств: множества и комбинированные значения. Object Inspector изображает множества в квадратных скобках. Если множество пусто, оно отображается как []. Установки для вложенных свойств вида “множество” обычно имеют значения типа Boolean. Наиболее распространенным примером такого свойства является свойство Style с вложенным множеством булевых значений. Комбинированные значения отображаются в Инспекторе Объектов как коллекция некоторых величин, каждый со своим типом данных. Некоторые свойства, например, Font, для изменения своих значений имеют возможность вызвать диалоговое окно. Для этого достаточно щелкнуть маленькую кнопку с тремя точками в правой части строки Инспектора Объектов, показывающей данное свойство.
Все изменения значений свойств компонент в режиме выполнения должны осуществляться путем прямой записи строк кода на языке Паскаль. В режиме выполнения невозможно использовать Object Inspector. Однако, доступ к свойствам компонентов довольно легко получить программным путем. Все, что Вы должны сделать для изменения какого-либо свойства - это написать простую строчку кода аналогично следующей:
Имя компоненты.Свойство := Значение;
Пример:
Button1.Caption := ‘Выход’; // надпись на кнопке
Объекты из библиотеки визуальных компонент (VCL) Delphi, равно как и объекты реального мира, имеют свой набор свойств и свое поведение - набор откликов на события, происходящие с ними. Список событий для данного объекта, на которые он реагирует, можно посмотреть, например, в Инспекторе Объектов на странице событий. Существует соглашение по названиям данных свойств (таблица 4).
Таблица 4 – Список событий
Название события |
Описание |
OnClick |
Щелчок мыши на компоненте и некоторые другие действияИ пользователя |
OnDblClick |
Двойной щелчок мыши на компоненте |
OnMouseDown |
Нажатие клавиши мыши над компонентом. Возможно расшЯ знавание нажатой кнопки и координат курсора мыши |
OnMouseMove |
Перемещении курсора мыши над компонентом. Возможно раН познавание нажатой кнопки и координат курсора мыши |
OnMouseUp |
Отпускание ранее нажатой кнопки мыши над компонентом. Я Возможно распознавание нажатой кнопки и координат курсо-И ра мыши |
OnEnter |
Событие в момент получения элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса |
OnExit |
Событие в момент потери элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса |
OnKeyDown |
Событие наступает при нажатии пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ нажатой клавиши |
OnKeyPress |
Событие наступает при нажатии пользователем клавиши символа. Можно распознать только нажатую клавишу символа, различить символ в верхнем и нижнем регистре, различить символы кириллицы и латинские, но нельзя распознать функциональные клавиши и кнопки |
OnKeyUp |
Событие наступает при отпускании пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ отпускаемой клавиши | |
Поведение объекта определяется тем, какие обработчики и для каких событий он имеет. Создание приложения в Delphi состоит из настройки свойств используемых объектов и создания обработчиков событий.
События – процедуры обработки, создаються в Инспекторе Объектов, во вкладке Events. Для того что-бы создать обработчик события необходимо напротив строки данного события щелкнуть два раза. Появиться процедура обработки в окне кода программы.
Procedure ИмяФормы.ИмякомпонентыИмяСобытия(без ON)(параметры);
Пример: для компоненты Button1 вызывается событие ONClick, размещенной на форме Form1.
procedure TForm1.Button1Click(Sender: TObject);
begin
// тело процедуры
end;
Методы – это процедуры и фукции для работы с компонентами. Они имеют общий вид:
Имя компоненты. Имя метода [(параметры)];
