Главная страница
    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.46 MB
Время: 0.037 c
1-1097964955
saNat
2004-10-17 02:15
2004.10.31
Издевательство над StringGrid ом


14-1096035912
ceval
2004-09-24 18:25
2004.10.31
Подскажите компанент


1-1097666698
denis24
2004-10-13 15:24
2004.10.31
закраска вкладок TabSheet


14-1097323092
андрей_
2004-10-09 15:58
2004.10.31
Какой монитор долговечнее?


1-1098168338
Kat
2004-10-19 10:45
2004.10.31
Есть число типа smallint.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский