Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.032 c
6-1093246459
SPy
2004-08-23 11:34
2004.10.31
Права доступа к файлам


14-1097230425
TUser
2004-10-08 14:13
2004.10.31
Пятница?


1-1097994032
LedWorm
2004-10-17 10:20
2004.10.31
Проблема со вставкой символа в TMemo


14-1097160368
Копир
2004-10-07 18:46
2004.10.31
Почему современная европейская культура до сих пор не верит Моисе


1-1097821422
Senti
2004-10-15 10:23
2004.10.31
Как в Exele проверить значение ячейки и заменить ее





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский