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

Вниз

Создание произвольного кол-ва объектов.   Найти похожие ветки 

 
SeriousSam   (2004-09-26 17:03) [0]

Как создать например n Edit"ов?


 
jack128 ©   (2004-09-26 17:05) [1]

SeriousSam   (26.09.04 17:03)
for i := 1 to n do TEdit.Create(Self);


 
SeriousSam   (2004-09-26 17:52) [2]

ну вот создали мы например n Button"ов.
и как программировать нажатия на них?


 
Плохиш ©   (2004-09-26 17:57) [3]

x.OnClick := MySuperPuperClickHandler


 
SeriousSam   (2004-09-26 18:01) [4]

Я можно сказать новичек :)
Подробнее плиз)


 
Плохиш ©   (2004-09-26 18:06) [5]

http://www.yandex.ru/yandsearch?text=delphi+%E8%E7%EC%E5%ED%E8%F2%FC+onclick&stype=www


 
SeriousSam   (2004-09-26 18:14) [6]

все равно не понял))


 
SeriousSam   (2004-09-26 20:12) [7]

так. кажись разобрался немного.

...
for i:=1 to StrToInt(Edit1.Text) do begin
 inc(editcount);
 Edit := TEdit.Create(self);
 Edit.Parent :=ScrollBox1;
 
 Edit.Left:=12;
 Edit.Top:=12*editcount*2;
 Edit.Show;
 Edit.OnClick := HandleEditClick;
end;
...

procedure TForm1.HandleEditClick(Sender: TObject);
begin
....
end;


но как узнать пока какому именно объекту кликнули. их же у нас много :)

и еще. как посмотреть какой Text у какого либо Edit"a.


 
QuasiLamo ©   (2004-09-26 20:23) [8]

Так. Срочно прочитать "Жизнь и смерть в режиме run-time"!!!


 
jack128 ©   (2004-09-26 20:24) [9]

SeriousSam   (26.09.04 20:12) [7]
но как узнать пока какому именно объекту кликнули. их же у нас много :)

параметр Sender

SeriousSam   (26.09.04 20:12) [7]
и еще. как посмотреть какой Text у какого либо Edit"a.

Ну так сохраняй ссылки на них в массиве. Например:

TForm1 = class(TForm)
private
 FEdits: array of TEdit;
end;

SetLength(FEdits, StrToInt(Edit1.Text));
for i:= low(FEdits) to High(FEdits)  do
begin
FEdits[i] := TEdit.Create(self);
FEdits[i].Parent :=ScrollBox1;

FEdits[i].Left:=12;
FEdits[i].Top:=12*editcount*2;
FEdits[i].Show;
FEdits[i].OnClick := HandleEditClick;
FEdits[i].Tag := i;// Сохраняем в свойстве индекс едита в массиве.
end;

procedure TForm1.HandleEditClick(Sender: TObject);
begin
 if Sender is TEdit then
   with TEdit(Sender) do
     ShowMessage(Format("Кликнули по Edit""у с индексом %d. Текст edit""a - "%s"", [Tag, Text]));
end;


 
SeriousSam   (2004-09-26 21:05) [10]

QuasiLamo ©   (26.09.04 20:23) [8]
Так. Срочно прочитать "Жизнь и смерть в режиме run-time"!!!


это что и где?)


 
QuasiLamo ©   (2004-09-26 21:09) [11]

http://www.yandex.ru/yandsearch?text=%E6%E8%E7%ED%FC+%E8+%F1%EC%E5%F0%F2%FC+%E2+%F0%E5%E6%E8%EC%E5+Runtime&stype=www


 
QuasiLamo ©   (2004-09-26 21:11) [12]

извиняюсь, в клиент неправильно вставилось... Вобщем, в яндексе найдешь. Статейка, очень для новичков полезная. Там создается кнопка, и навешивается на нее событие, и много чего, и все в режиме ран-тайм


 
SeriousSam   (2004-09-26 21:13) [13]

QuasiLamo пасиб)
jack128 тоже пасиб)


 
SeriousSam   (2004-09-26 21:19) [14]

несколько не понял

ShowMessage(Format("Кликнули по Edit""у с индексом %d. Текст edit""a - "%s"", [Tag, Text]));

откуда взялось %s и откуда %d. и что в конце - [Tag, Text]?

и еще как посмотреть Text не только по клика по едиту, но и из любой части проги?
заранее всем спасибо)

уже читаю Жизнь и смерть в режиме run-time


 
GuAV ©   (2004-09-27 00:34) [15]


>
> откуда взялось %s и откуда %d.

Format+F1

> . и что в конце - [Tag, Text]?

св-ва Editа

> и еще как посмотреть Text не только по клика по едиту, но
> и из любой части проги?

Точно так же


 
jack128 ©   (2004-09-27 00:57) [16]

SeriousSam   (26.09.04 21:19) [14]
и что в конце - [Tag, Text]?

хе.

>FEdits[i].OnClick := HandleEditClick;
> FEdits[i].Tag := i

и
[Tag, ...]  ни на какие мысли не наводит??  На каждом не понятном слове - жми F1 и будет те счастье. Ну и конечно "Жизнь и смерть в режиме run-time" - статья, обязательная к прочтению.


 
SergP.   (2004-09-27 01:07) [17]

В процедуре OnClick передается параметр Sender, который является не чем иным как указателем на объект, в котором произошло данное событие.



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

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

Наверх




Память: 0.5 MB
Время: 0.03 c
6-1091603923
Hereticsoul
2004-08-04 11:18
2004.10.10
Socket


14-1094813897
STM
2004-09-10 14:58
2004.10.10
Как написать mailer


4-1094722724
BRemB
2004-09-09 13:38
2004.10.10
Контекстное меню


1-1096356152
Rule
2004-09-28 11:22
2004.10.10
Подскажиет где торомжу, поему возникает ошибка Object or Class


4-1094812390
DjTheme
2004-09-10 14:33
2004.10.10
Работа со СКАНЕРОМ