![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать компонент Edit динамически?
WFS © (2007-11-04 19:24:00)собсна вопрос в теме
Leonid Troyanovsky (2007-11-06 13:24:00) [1]
> Галинка © (06.11.07 12:39) [13]
> И вообще, когда надо большое количество однозначных эдитов,
> может сразу StringGrid взять
Сразу DrawGrid.
--
Regards, LVT.
Ega23 (2007-11-06 13:00:00) [2]
> Лучше использовать Controls или Components, ни к чему плодить
> сущности.
Кроме динамически создаваемых Эдитов могут быть и созданные в Design-time на данном контроле.
А Tag всего один... :)
Галинка (2007-11-06 12:39:00) [3]Да понятно, что лучше. Но можно. Если автор пока категориями массивов оперирует.
И вообще, когда надо большое количество однозначных эдитов, может сразу StringGrid взять, и не мучиться?
Anatoly Podgoretsky (2007-11-05 08:53:00) [4]Лучше использовать Controls или Components, ни к чему плодить сущности.
Amoeba (2007-11-05 02:10:00) [5]Лучше использовать не массив, а TObjectList.
Галинка (2007-11-04 21:51:00) [6]WFS (04.11.07 20:02) [7]
а в чем проблема? если параллельно будет существовать массив этих вновь созданных едитов, то можно и так.
var
MyEdits: array of TEdit;
i : integer;
curEdit : TEdit;
begin
for i:=0 to 1000 do
begin
curEdit := TEdit.Create(Form1);
SetLength(MyEdits, i+1);
MyEdits[i] := TEdit.Create(Form1);
with MyEdits[i] do
begin
Parent := Form1;
Left = 10;
Top := 10 + 25*i;
Text = IntToStr(i);
end;
end;
end;
WFS (2007-11-04 20:14:00) [7]Ладно, спасибо:)
Efir (2007-11-04 20:10:00) [8]Можно так:
var
i:integer;
Edit:TComponent;
begin
for i:=1 to 5 do begin
Edit:=FindComponent('Edit'+IntToStr(i));
if Edit is TEdit then
TEdit(Edit).Text:='12345';
end;
end;
WFS (2007-11-04 20:02:00) [9]Ну а как?
Он же не понимает Edit[i].text :)
Efir (2007-11-04 19:59:00) [10]Конечно можно.
WFS (2007-11-04 19:55:00) [11]Тогда такой вопрос.
Если имеются много эдитов с номерами от 1 до 1000, то можно свойству Text каждого эдита в цикле присвоить значение?
Efir (2007-11-04 19:36:00) [12]Родителя, я так понимаю в твоём случае это будет форма.
MyEdit:=TEdit.Create(Form1);
MyEdit.Parent:=Form1;
Anatoly Podgoretsky (2007-11-04 19:35:00) [13]> WFS (04.11.2007 19:33:02) [2]
F1
WFS (2007-11-04 19:33:00) [14]Какой параметр следует указать в скобках
TEdit.Create(?)
Anatoly Podgoretsky (2007-11-04 19:25:00) [15]> WFS (04.11.2007 19:24:00) [0]
Компоненты создаются с помощью Create