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

Массивы объектов   Найти похожие ветки 

← →
Бегинер ©   (2002-08-25 21:13) [0]

Доброго времени суток, МАСТЕРА!!!
Такая вот ситуация....создаю несколько MaskEdit"тов таким способом:

SetLength(a, n);
for i:=0 to n-1 do
begin
a[i]:=TMaskEdit.Create(Form1);
a[i].name:="MEdit"+inttostr(i);
a[i].parent:=Form1;
......
end;


Сразу же после этого цикла хочу запустить такой же, создающий столько же UpDown"ов,связанных с MaskEdit"тами, делаю так:


SetLength(b, n);
for i:=0 to n-1 do
begin
b[i]:=TUpDown.Create(Form1);
b[i].parent:=Form1;
b[i].associate:="class"+inttostr(i); //Тут ошибка...говорит, что нужен тип TWinControl вмест String
end;


Как правильно прикрепить UpDown"ы и MaskEdit"ы с одинаковыпи индексами друг к другу?


← →
TTCustomDelphiMaster ©   (2002-08-25 21:44) [1]

b[i].associate := a[i];


← →
Юрий Зотов ©   (2002-08-25 21:45) [2]

SetLength(a, n);
SetLength(b, n);
for i:= 0 to n-1 do
begin
a[i] := TMaskEdit.Create(Form1);
// a[i].name := "MEdit" + inttostr(i); // Это лишнее.
a[i].parent := Form1;
b[i] := TUpDown.Create(Form1);
b[i].parent := Form1;
b[i].associate := a[i]; // Ссылка, а не имя!!!
......
end;



← →
Бегинер ©   (2002-08-25 21:54) [3]

Большое Вам СПАСИБО!!!!


← →
Anatoly Podgoretsky ©   (2002-08-25 22:01) [4]

Попробуй b[i].associate:=a[i]


← →
Бегинер ©   (2002-08-25 22:49) [5]

Вставил я ВАШ код, создались эти АпДауны, но не ассоциированные.....у меня пременные длинные, но может поверите:
gr: array of TMaskEdit;
ud: array of TUpDown;

SetLength(gr, ng);
SetLength(ud, ng);
for i:=0 to ng-1 do
begin
gr[i]:=TMaskEdit.Create(m4);
gr[i].name:="class"+inttostr(i);
gr[i].parent:=m4.Panel1;
gr[i].text:="1";
gr[i].left:=8;
gr[i].color:=clSkyBlue;
gr[i].height:=24;
gr[i].width:=17;
gr[i].top:=i*24+40;
gr[i].EditMask:="0;1;";
ud[i]:=TUpDown.Create(m4);
ud[i].parent := m4;
ud[i].associate:=gr[i];
end;


← →
Ученик ©   (2002-08-25 22:55) [6]

ud[i].parent := m4.Panel1;


← →
Бегинер ©   (2002-08-25 23:05) [7]


> Ученик © (25.08.02 22:55)

Спасибочки.....надо завязывать на сегодня....


← →
Бегинер ©   (2002-08-25 23:12) [8]

В предыдуших формах проекта я делал такую фишку для удобства: при наведении на Edit т.е. в обработчике OnMouseMove писал xxxxx.setfocus;.Как в моем массиве сделать так же для каждого объекта?


← →
Юрий Зотов ©   (2002-08-25 23:22) [9]

1. А еще лучше ud[i].parent := gr[i].parent. Чтобы не править код, если завтра надумате перетащить контролы куда-то еще.

2. Сделать один общий OnMouseMove для всех нужных контролов:
if Sender is TWinControl then TWinControl(Sender).SetFocus


← →
Бегинер ©   (2002-08-25 23:38) [10]

Да вы прямо АССЫ!!!!



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.017 c
14-14266
Зубарев Антон
2002-05-10 11:49
2002.09.05
Работа с LPT


1-14046
Shrek
2002-08-26 17:16
2002.09.05
BDE


1-14034
Abajun
2002-08-26 15:36
2002.09.05
Передача строки


1-13996
Hollander
2002-08-25 04:29
2002.09.05
Edit проблема с пробелами


7-14298
ASGroup
2002-06-22 23:10
2002.09.05
Текущая раскладка клавиатуры




   Наверх