Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

обработка клика на динамическом объекте   Найти похожие ветки 

 
Alexandr55   (2006-04-17 18:40) [0]

Приветствую всех!

Имеется форма на которой 2 кнопки (текст ниже). По нажатию на одну, динамически создаются новые кнопки, по нажатию на вторую - удаляются. Вопрос: Можно ли каким-либо образом описать процедуры одработки событий по нажатию на эти, вновь создаваемые кнопки?


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,  Dialogs,  StdCtrls,ExtCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 AAA  :array[1..10] of TButton;
 N:integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
 if (n>=10) then exit;
 inc(n);
 AAA[n]:=TButton.Create(self);
 AAA[n].top:=n*40;
 AAA[n].parent:=Form1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
AAA[n].Free;
dec(n);
end;

initialization
n:=0;
end.


 
Гаврила ©   (2006-04-17 18:44) [1]

AAA[n]:=TButton.Create(self);
AAA[n].OnClick:=MyMethod;


 
Alexandr55   (2006-04-17 19:09) [2]

Не совсем понял.
Можно конкретизировать постановку.
Допустим по клику на кнопке надо в Form1.Caption записывать номер этой самой кнопки.
Если можно привести конкретно код.
Зараннее благодарен.


 
SPV   (2006-04-17 19:38) [3]

public
  { Public declarations }
 procedure MyClick( Sender: TObject );
end;

procedure TForm1.MyClick( Sender: TObject );
begin
 for i := 1 to 10 do
   if TButton(Sender) = AAA[ i ] then
     Caption := IntToStr( i );

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (n>=10) then exit;
inc(n);
AAA[n]:=TButton.Create(self);
AAA[n].top:=n*40;
AAA[n].parent:=Form1;
AAA[n].onClick := MyClick;
end;


 
TUser ©   (2006-04-17 20:20) [4]

with TButton.Create(Self) do begin
top:=
left:=
OnClick := CLCK;
Tag := <номер кнопочки>
end;

procedure TForm1.CLCK(Sender: TObject)
begin
 Label1.Caption := inttostr(TComponent(Sender).Tag);
end;


 
Alexandr55   (2006-04-18 11:33) [5]

Благодарю!!!



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
2-1147603543
EZHIK
2006-05-14 14:45
2006.05.28
Команда goto или что-то наподобие...


15-1146330901
dyd
2006-04-29 21:15
2006.05.28
Бесплатный хостинг


2-1147184917
Mr tray
2006-05-09 18:28
2006.05.28
как узнать хендл активного окна активного приложения


9-1130783574
NightLord
2005-10-31 21:32
2006.05.28
Text в DelphiX


1-1145453390
Uriy
2006-04-19 17:29
2006.05.28
Transporent на канве