Главная страница
    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.045 c
1-1097530297
Ezhik
2004-10-12 01:31
2004.10.31
Ход конём


1-1097745023
jenbond
2004-10-14 13:10
2004.10.31
Получения hwnd


4-1096028348
Comp
2004-09-24 16:19
2004.10.31
Visual Styles


14-1097138479
Lool
2004-10-07 12:41
2004.10.31
Задача по геометрии


6-1093338639
Дмитрий Ботвин
2004-08-24 13:10
2004.10.31
Получение списка файлов с ftp-сервера





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