Главная страница
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
6-1138734855
OFP
2006-01-31 22:14
2006.05.28
Tserversocket не принимает коннект и сообщения


2-1146935465
Golik
2006-05-06 21:11
2006.05.28
Data


2-1147280995
BAngel
2006-05-10 21:09
2006.05.28
как создать свой цвет


2-1147245971
KyRo
2006-05-10 11:26
2006.05.28
Вопрос по сервисам и реестру


15-1146466654
begin...end
2006-05-01 10:57
2006.05.28
Проблема с MS Word 2000