Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.05;
Скачать: 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 вся ветка

Текущий архив: 2002.09.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-14227
AL2002
2002-08-06 16:24
2002.09.05
Кто каким файловым менеджером пользуется?


14-14253
Da'maz
2002-08-10 17:37
2002.09.05
Можно ли быть программистом не зная этого ?


14-14280
Sir Alex
2002-08-10 21:01
2002.09.05
Оффшорное программирование?


14-14239
glory_bug
2002-08-09 21:39
2002.09.05
Литература по базам на DELPH и


1-14076
yozhik
2002-08-26 17:07
2002.09.05
Сохранение свойств