Delphi 5. Учебник



         

Разделяемые обработчики событий



Как вы уже знаете, каждый класс способен генерировать свои собственные события. Каждое из них имеет определенный тип, как, например, TNotifyEvent у OnClick и TCloseEvent у OnClose. Delphi позволяет написать один обработчик события и назначить его нескольким событиям одновременно.
    Представьте себе объект TEdit, генерирующий события OnKeyDown и OnKeyUp. Поскольку оба события — одного типа, можете написать одну процедуру и назначить ее обоим событиям. Процедура будет вызываться дважды при каждом нажатии клавиши (при нажатии и отпускании). Или, например, вы можете создать один обработчик для событий OnCreate и OnClick.
    Еще одно общее назначение разделяемых обработчиков — обработка событий от двух различных управляющих элементов, которые могут и не быть экземплярами одного класса.
    Вот как создать разделяемый между классами TButton и TEdit обработчик OnClick.
  • Выберите из меню File/New Application для создания приложения.
  • Поместите TButton в форму и введите в обработчик OnClick следующий код.
        procedure TFormI.ButtonlClick (Sender: TObject);
        begin
            Editl.SetFocus;
            Editl.SelectAll;
        end;
  • Поместите TEdit в форму. В Object Inspector выберите в списке для события OnClick обработчик ButtonClick.
    Теперь после щелчка на кнопке и на объекте TEdit будут выполняться одни и те же действия, фокус ввода будет передаваться управляющему элементу TEdit, и весь текст в нем будет выделяться.


Содержание  Назад  Вперед