Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с динамическими компонентами


Елена ©   (2006-03-10 09:44:00) 

Подскажите, мастера -
Я создаю динамически Кнопку  на форме, и мне необходимо, что бы при нажатии на эту кнопку, делалось опеределенное действие (к примеру, диалог), т.е вызывать процедуру этой кнопки.
Как это сделать? Если у кого нить есть пример..


Ega23   (2006-03-10 10:58:00) [1]


> Да нет - в любом классе


Просто методом должна быть.


Sergey Masloff   (2006-03-10 10:45:00) [2]

Жуков Олег   (10.03.06 10:35) [6]
Не видел когда писал :-)


Плохиш   (2006-03-10 10:38:00) [3]

TForm.ActiveElement.
Или параметр Sender обработчика события поля редактирования.

PS. Задавайте вопросы конкретно.


Sergey Masloff   (2006-03-10 10:37:00) [4]

ActiveControl property (TCustomForm)


Sergey Masloff   (2006-03-10 10:37:00) [5]

Ну естественно проверять является ли этот контрол Edit-ом


Жуков Олег   (2006-03-10 10:35:00) [6]

if ActiveControl <> nil then
 if ActiveControl is TCustomEdit then
   ShowMessage('Это текст в активном Edit''е: ' + (ActiveControl as TCustomEdit).Text);


Елена   (2006-03-10 10:25:00) [7]

а если так - у меня на форме зодается Н-ое кол-во едитов. Как узнать, какое из них в данный момент имеет фокус?


Sergey Masloff   (2006-03-10 10:23:00) [8]

msguns ©   (10.03.06 09:58) [3]
>Обработчик MyClick должен быть определен в том классе (форме), который >является собственником созданной кнопки.
Да нет - в любом классе


msguns   (2006-03-10 09:58:00) [9]

Обработчик MyClick должен быть определен в том классе (форме), который является собственником созданной кнопки.

Вот так будет работать:

type
 TForm1 = class(TForm)
 Button1: TButton;
 ...
 procedure Button1Click(Semder: TObject);
 ...

implementation

procedure TForm1.Button1Click(Semder: TObject);
begin
... // тело обработчика
end;

procedure TForm1.CreateMyButton;
var
 bt: TButton;
begin
 bt := TButton.Create(Self);
 with bt do
   begin
    Parent :=
    Left :=
    Top :=
    Width :=
    Caption :=
    OnClick := Button1Click;
   end;
end;


MBo   (2006-03-10 09:50:00) [10]

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=342


Руслан   (2006-03-10 09:47:00) [11]

Вроде не мастер, но отвечу)
когда создаешь кнопку, так и пропишешь в коде
button1.onclick:=Myclick


Наверх

Титульная страница Поиск, карта сайта Написать письмо