![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
обработка клика на динамическом объекте [D5, Win95/98]
Alexandr55 © (2006-04-17 18:40:00)Приветствую всех!
Имеется форма на которой 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.
Alexandr55 (2006-04-18 11:33:00) [1]Благодарю!!!
TUser (2006-04-17 20:20:00) [2]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;
SPV (2006-04-17 19:38:00) [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;
Alexandr55 (2006-04-17 19:09:00) [4]Не совсем понял.
Можно конкретизировать постановку.
Допустим по клику на кнопке надо в Form1.Caption записывать номер этой самой кнопки.
Если можно привести конкретно код.
Зараннее благодарен.
Гаврила (2006-04-17 18:44:00) [5]AAA[n]:=TButton.Create(self);
AAA[n].OnClick:=MyMethod;