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

Вниз

Динамические кнопки и их события   Найти похожие ветки 

 
П7   (2004-10-13 11:57) [0]

Уважаемые Мастера! В моей программе динамически генеряться TEdit"ы и соответствующие им кнопки. По нажатию кнопки должен появляться InputBox, значения которого должно после нажатия OK записываться в соответствующий кнопке TEdit. Как можно подобное провернуть, если писать для каждой кнопки событие отдельно не возможно.
Заранее спасибо! (:


 
Pentium133 ©   (2004-10-13 12:01) [1]

Как вариант:
Для каждой кнопки и Edit"а укажи уникальный Tag.
В OnButtonClick кнопку идентифицируй по нему. Находи TEdit c такимже Tag"ом и делай что надо.


 
П7   (2004-10-13 12:52) [2]

Спасибо, кажется то, что надо! Сейчас потестим...


 
KSergey ©   (2004-10-13 13:07) [3]

Да епрст... А форум почитать? Ну ладно по разу в день, но по 2..3 раза в день одну и ту же тему поднимать...

Читай и ты
http://www.delphikingdom.com/helloworld/runtime_comp.htm


 
П7   (2004-10-13 13:50) [4]

(:
Ладно, не ругайся... (: Дай потупить... (:


 
1008 ©   (2004-10-14 10:54) [5]


var
EditArray:array of TEdit;
ButtonArray:array of TButton;

...

//При создании кнопки
ButtonArray[i].OnClick:=ButtonClick;

...

procedure TForm1.ButtonClick(Sender:TObject);
var
i,n:integer;
begin
n:=Length(EditArray);
for i:=0 to n-1 do begin
 if Sender=ButtonArray[i] then begin
  EditArray[i].Text:=InputBox("...","...","...");
 end;
end;
end;


Кажется так.


 
П7   (2004-10-14 21:44) [6]


> 1008 ©   (14.10.04 10:54) [5]

То, что вы преджложили - это жутко медленно, хотя как вариант, тоже сойдёт. Но я делаю, как мне Pentium133 в [1] подсказал... (:


 
SergP.   (2004-10-15 00:29) [7]


>  [6] П7   (14.10.04 21:44)
>
> > 1008 ©   (14.10.04 10:54) [5]
>
> То, что вы преджложили - это жутко медленно, хотя как вариант,
> тоже сойдёт. Но я делаю, как мне Pentium133 в [1] подсказал...
> (:


А не проще ли сразу при создании эддита и кнопки, в tag  кнопки записывать указатель на эдит?

типа:
Mybutton.tag:=integer(Myedit);

а в обработчике писать:

procedure TForm1.ButtonClick(Sender:TObject);
begin
 Tedit(Tbutton(sender).tag).text:=InputBox("...","...","...");
end;

Либо создать класс: чтото типа кнопки с эдитом, два в одном...


 
П7   (2004-10-15 13:07) [8]


> SergP.   (15.10.04 00:29) [7]

Можно, но это долго...
Да не парьтесь вы, я уже всё уяснил и сделал. Спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.05 c
4-1096118680
X-Disa
2004-09-25 17:24
2004.10.31
Автозапуск проги


14-1097662297
Жук
2004-10-13 14:11
2004.10.31
Португалия - Россия


4-1095874114
ASDee
2004-09-22 21:28
2004.10.31
ид по хэндлу?


8-1091696002
Nolf
2004-08-05 12:53
2004.10.31
Старая добрая Winamp а..


1-1098074660
Simon
2004-10-18 08:44
2004.10.31
TObjectList