В общем виде:
Чем мне нравится Делфи - в ней исходники почти всех компонентов.
Если немного полазить то можно увидеть мого интересного.
Про события:
Бросим на форму TEdit
дойдем до TCustomEdit
там есть свойство
property OnChange: TNotifyEvent read FOnChange write FOnChange;Если нажать Ctrl и кликнуть на TNotifyEvent то увидим
TNotifyEvent = procedure(Sender: TObject) of object;
TNotifyEvent - это самый распространенный тип для обработки событий
но в некоторые события передаются дополнительные параметры
TKeyPressEvent = procedure(Sender: TObject; var Key: Char) of object; Чтобы динамически создать (изменить) обработчик на событие необходимо прописать обработчик соответствующий этому событию.
Самый легкий путь в TForm
Procedure MyEditKeyPress(Sender: TObject; var Key: Char);
Procedure MyEditChange(Sender: TObject);
и соответственно написать саму обработку
и привязать ксобытию
Если один обработчик обрабатывает события нескольких объектов то удобно пользоваться параметром Sender
который указывает на объект в котором произошло событие
например так
procedure TForm1.MyEditChange(Sender: TObject);
begin
(Sender as TEdit).Text := 'Ненадо менять мой текст';
end;
|