Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Вниз
Создание произвольного кол-ва объектов. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c