Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание произвольного кол-ва объектов. [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);


Наверх

Титульная страница Поиск, карта сайта Написать письмо