BorlanD Russian Сommunity

В данном уроке изучим TactionList. На двух прошлых уроках мы с вами посмотрели, как можно динамически создавать компоненты управления. Но у созданных нами кнопок был один недостаток - при нажатии на них ничего не происходило. Давайте сейчас посмотрим, как к созданной динамически кнопке можно добавить (также динамически) код, который будет выполняться при нажатии на ней.

Возьмите за основу программу из урока 10. Добавьте на её форму компонент ActionList с вкладки Standard.

Для добавления действия в наш компонент ActionList1 сделайте двойной щелчок на нем. Появится окно Editing Form1.ActionList1. Нажмите в нем на кнопку New Action,

в правом списке появится новое действие Action1.

Сделайте на нем двойной щелчок для перехода в окно кода. Добавите ниже приведенный код.

 

Код:

 

procedure TForm1.Action1Execute(Sender: TObject);

begin

            MessageDlg('Событие для новой кнопки',

            mtConfirmation,

            [mbOK],    0);

end;

 

Мы добавили в нашу программу некоторое действие (появление MessageBox). Это действие называется Action1. Теперь свяжем этой действие с нашей кнопкой. Для этого добавьте в обработчик Button1Click ниже приведенный код.

 

Код:

 

           btn.Action:=Action1;
            btn.Caption:='Новая кнопка';           

 

В этой строке мы связываем свойство Action для кнопки с конкретным событием Action1.

Это свойство присутствует и в Инспекторе объектов. Теперь запускайте программу, нажимайте на кнопку "Дополнительно", потом на нашу динамически созданную кнопку. Появится MessageBox - как мы и задумывали. Таким образом мы присоединили к динамически созданной кнопке некоторое действие.

            Всё на этом урок закончен.

Просмотров: 3604 | Категория: Delphi 7 | Дата: 11.05.2008