![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание произвольного кол-ва объектов. [D7, WinXP]
SeriousSam © (2004-09-26 17:03:00)Как создать например n Edit'ов?
SergP. (2004-09-27 01:07:00) [1]В процедуре OnClick передается параметр Sender, который является не чем иным как указателем на объект, в котором произошло данное событие.
jack128 (2004-09-27 00:57:00) [2]SeriousSam (26.09.04 21:19) [14]
и что в конце - [Tag, Text]?
хе.
>FEdits[i].OnClick := HandleEditClick;
> FEdits[i].Tag := i
и
[Tag, ...] ни на какие мысли не наводит?? На каждом не понятном слове - жми F1 и будет те счастье. Ну и конечно "Жизнь и смерть в режиме run-time" - статья, обязательная к прочтению.
GuAV (2004-09-27 00:34:00) [3]
>
> откуда взялось %s и откуда %d.
Format+F1
> . и что в конце - [Tag, Text]?
св-ва Editа
> и еще как посмотреть Text не только по клика по едиту, но
> и из любой части проги?
Точно так же
SeriousSam (2004-09-26 21:19:00) [4]несколько не понял
ShowMessage(Format('Кликнули по Edit''у с индексом %d. Текст edit''a - "%s"', [Tag, Text]));
откуда взялось %s и откуда %d. и что в конце - [Tag, Text]?
и еще как посмотреть Text не только по клика по едиту, но и из любой части проги?
заранее всем спасибо)
уже читаю Жизнь и смерть в режиме run-time
SeriousSam (2004-09-26 21:13:00) [5]QuasiLamo пасиб)
jack128 тоже пасиб)
QuasiLamo (2004-09-26 21:11:00) [6]извиняюсь, в клиент неправильно вставилось... Вобщем, в яндексе найдешь. Статейка, очень для новичков полезная. Там создается кнопка, и навешивается на нее событие, и много чего, и все в режиме ран-тайм
QuasiLamo (2004-09-26 21:09:00) [7]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
SeriousSam (2004-09-26 21:05:00) [8]QuasiLamo © (26.09.04 20:23) [8]
Так. Срочно прочитать "Жизнь и смерть в режиме run-time"!!!
это что и где?)
jack128 (2004-09-26 20:24:00) [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;
QuasiLamo (2004-09-26 20:23:00) [10]Так. Срочно прочитать "Жизнь и смерть в режиме run-time"!!!
SeriousSam (2004-09-26 20:12:00) [11]так. кажись разобрался немного.
...
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.
SeriousSam (2004-09-26 18:14:00) [12]все равно не понял))
Плохиш (2004-09-26 18:06:00) [13]http://www.yandex.ru/yandsearch?text=delphi+%E8%E7%EC%E5%ED%E8%F2%FC+onclick&stype=www
SeriousSam (2004-09-26 18:01:00) [14]Я можно сказать новичек :)
Подробнее плиз)
Плохиш (2004-09-26 17:57:00) [15]x.OnClick := MySuperPuperClickHandler
SeriousSam (2004-09-26 17:52:00) [16]ну вот создали мы например n Button'ов.
и как программировать нажатия на них?
jack128 (2004-09-26 17:05:00) [17]SeriousSam (26.09.04 17:03)
for i := 1 to n do TEdit.Create(Self);