Форум: "Основная";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];
ВнизМассивы объектов Найти похожие ветки
← →
Бегинер (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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c