Форум: "Основная";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Внизобработка клика на динамическом объекте Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c