Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизКак создать компонент Edit динамически? Найти похожие ветки
← →
WFS (2007-11-04 19:24) [0]собсна вопрос в теме
← →
Anatoly Podgoretsky © (2007-11-04 19:25) [1]> WFS (04.11.2007 19:24:00) [0]
Компоненты создаются с помощью Create
← →
WFS (2007-11-04 19:33) [2]Какой параметр следует указать в скобках
TEdit.Create(?)
← →
Anatoly Podgoretsky © (2007-11-04 19:35) [3]> WFS (04.11.2007 19:33:02) [2]
F1
← →
Efir (2007-11-04 19:36) [4]Родителя, я так понимаю в твоём случае это будет форма.
MyEdit:=TEdit.Create(Form1);
MyEdit.Parent:=Form1;
← →
WFS (2007-11-04 19:55) [5]Тогда такой вопрос.
Если имеются много эдитов с номерами от 1 до 1000, то можно свойству Text каждого эдита в цикле присвоить значение?
← →
Efir (2007-11-04 19:59) [6]Конечно можно.
← →
WFS (2007-11-04 20:02) [7]Ну а как?
Он же не понимает Edit[i].text :)
← →
Efir (2007-11-04 20:10) [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:14) [9]Ладно, спасибо:)
← →
Галинка © (2007-11-04 21:51) [10]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;
← →
Amoeba © (2007-11-05 02:10) [11]Лучше использовать не массив, а TObjectList.
← →
Anatoly Podgoretsky © (2007-11-05 08:53) [12]Лучше использовать Controls или Components, ни к чему плодить сущности.
← →
Галинка © (2007-11-06 12:39) [13]Да понятно, что лучше. Но можно. Если автор пока категориями массивов оперирует.
И вообще, когда надо большое количество однозначных эдитов, может сразу StringGrid взять, и не мучиться?
← →
Ega23 © (2007-11-06 13:00) [14]
> Лучше использовать Controls или Components, ни к чему плодить
> сущности.
Кроме динамически создаваемых Эдитов могут быть и созданные в Design-time на данном контроле.
А Tag всего один... :)
← →
Leonid Troyanovsky © (2007-11-06 13:24) [15]
> Галинка © (06.11.07 12:39) [13]
> И вообще, когда надо большое количество однозначных эдитов,
> может сразу StringGrid взять
Сразу DrawGrid.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c