Вниз
Скачать: CL | DM;

Как создать компонент 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.02 c
15-1194236411
Bess
2007-11-05 07:20
2007.12.02
ICO вместо BMP


2-1194514597
Квэнди
2007-11-08 12:36
2007.12.02
Странное отображение форм


15-1193574821
DeadMeat
2007-10-28 15:33
2007.12.02
Опять про *.bpl


2-1194685836
Виктор007
2007-11-10 12:10
2007.12.02
Настройки программы


15-1193597283
artkil
2007-10-28 21:48
2007.12.02
Вопрос по созданию пиринговой сети




   Наверх