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