![]() |
vopros po TPanel on RUN-TIME
...
var P: TPanel; ... implementation ... procedure TForm1.FormCreate(Sender: TObject); var //P: TPanel; i,j,n: Integer; begin Randomize; n:=0; For i:=0 to 6 do begin For j:=0 to 10 do begin P:=TPanel.Create(Self); P.Parent:=Panel1; P.BevelOuter:=bvNone; P.Width:=50; P.Height:=50; P.Left:=j*50; P.Top:=i*50; P.Color:=Random($FFFFFF); Inc(n); P.Caption:=IntToStr(n); end; end; end; Как видно создается много разноцветных панелей. Теперь я хочу во время работы обратится к ним по одному или, на все сразу, например в Timer1Timer поменять цвета, если получится, то должно быть ЦветоМузыка... Я понимаю в процессе разработки не можно ловить то, что создается в процессе выполнения... Но как создать Timer (не сам компонент, это ясно, а его процедуру), который будет работать и делать то, что я прикажу после выполнения? |
Один из вариантов. Создаешь динамический массив (или если заранее знаешь кол-во панелей, то статический) и задаешь его тип TPanel;
Var arrPanel : array of TPanel; Begin SetLength(arrPanel,PanelCount); //panelcount - кол-во панелей {создаешь панели} For i:=0 to PanelCount-1 do Begin ArrPanel[i]:=TPanel.create; //ну и так далее End; End; Потом обращешься к панелям как к массиву т.е. arrPanel[i].Color:=clRed; // это в с таймере. Ну понял наверное что я имел ввиду :) |
Судя по твоим вопросам, я никак не могу понять что же за прогу ты делаешь. InterBase, Float щас вот панельки :)
|
Спосибо тебе! Ты вообще-то наблюдательный :))
А насчет проги отвечу: Float - для проги которую уже продал... InterBase - которая изучаю... Panelki - хочу знать побольше, не возражаете? :)) |
spogi
Да нет :) Чем больше "программистов" будет в стране тем больше пальцев будет у его потомства (стремящейся к 101) |
Kstati Drujishya!
Ya ne mog operedelyat, v cem je u menya problema s InterBase-om... |
| Часовой пояс GMT +4, время: 06:35. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.