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

Вниз

Как сделать процедуру OnButtonClick на клонированную кнопку   Найти похожие ветки 

 
Nait   (2006-01-26 13:11) [0]

Допустим я наклонировал 10 кнопок:
b:array[1..10] of Tbutton;
begin
for i:=1 to 10 do begin
b[i]:=Tbutton.create(button1);
b[i].parent:=form1;
end;

И теперь хочу сделать процедуру, чтобы при нажатии на любую из них, она, допустим, сдвигалась влево на 5 пикселей.
Такое вообще возможно?:)

Заранее благодарен


 
Гаврила ©   (2006-01-26 13:15) [1]

b[i].OnClick:=Button1Click;


 
Nait   (2006-01-26 13:26) [2]

Да, но тогда в процедуре form1.onButton1Click если я пишу button1.left:=button1.left-5 то двигается именно button1, а не та кнопка, на которую я нажал. А как сделать связь с b[i] ? Что-то типа this.left-=5;


 
begin...end ©   (2006-01-26 13:28) [3]

> Nait   (26.01.06 13:26) [2]

> button1.left:=button1.left-5

with Sender as TButton do
 Left := Left - 5


 
Гаврила ©   (2006-01-26 13:29) [4]

procedure TForm1.onButton1Click(Sender: TObject);
var
 Btn: TButton;
begin  
 Btn:=(Sender as TButton);
 Btn.Left:=Btn.Left - 5
end;


 
Digitman ©   (2006-01-26 13:30) [5]


> Да, но тогда в процедуре form1.onButton1Click если я пишу
> button1


Никто не заставляет тебя писать именно так.

Есть параметр Sender, он и определяет однозначно, какой контрол возбудил событие.

with TButton(Sender) do Сдвинуть.



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

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

Наверх




Память: 0.47 MB
Время: 0.086 c
4-1133957255
Shastox
2005-12-07 15:07
2006.02.26
Буфер и StringGrid


15-1139089526
lookin
2006-02-05 00:45
2006.02.26
Не могу понять, в чем смысл фразы (на английском)...


2-1139569245
Enki
2006-02-10 14:00
2006.02.26
Картинки и текст в одном


2-1139316683
Dmitrij_K
2006-02-07 15:51
2006.02.26
Толи меня глючит, толи delphi


9-1125456817
Slavikk
2005-08-31 06:53
2006.02.26
Отличия шейдеров Версии 1.0 от 2.0 и 3.0