Много панели
4 отговора
138 прегледа
Много панели
Здравейте,
Някой може ли да помогне ако имам 20 (или 200) компонента от тип Panel във формата, как мога с цикъл да променям свойството Caption на тях.
Или не с цикъл ами примерно Panel3, само че 3-ката да я задам чрез променлива. Ако имам някоя променлива i и нейната стойност е 5, тогава да се промени Caption на Panel5. Нещо такова. Не ме бива в обясненията. Дано да сте разбрали
Някой може ли да помогне ако имам 20 (или 200) компонента от тип Panel във формата, как мога с цикъл да променям свойството Caption на тях.
Или не с цикъл ами примерно Panel3, само че 3-ката да я задам чрез променлива. Ако имам някоя променлива i и нейната стойност е 5, тогава да се промени Caption на Panel5. Нещо такова. Не ме бива в обясненията. Дано да сте разбрали
Re: Много панели
Виж масива Controls и свойството ControlCount в хелпа.
Ето и пример:
Mixy
Ето и пример:
for Counter:=0 to Parent.ControlCount-1 do
if (Parent.Controls[Counter] is TPanel) then
(Parent.Controls[Counter] as TPanel).Caption:='NewCaption'+inttostr(Counter);
Mixy
Re: Много панели
Ето пример за отделен панел (Само трябва да знаеш че търси по Name на компонентата).
TPanel(FindComponent('Panel'+IntToStr(SpinEdit1.Value))).Caption:=
IntToStr(SpinEdit1.Value*100);
TPanel(FindComponent('Panel'+IntToStr(SpinEdit1.Value))).Caption:=
IntToStr(SpinEdit1.Value*100);
Предупреждение за Win9x
Предупреждение за Win9x :)
20 или 200 панела не са толкова много, но ако формата ти може да се създава повече от веднъж (2,3,.... инстанции) под 9х може да имаш проблеми с ресурсите.
Всеки наследник на WinControl е доста ресурсоемък, а за 9х това е проблем.
В повечето случеи вместо tPanel може да се ползва tLabel, а разликата в ресурсите им е доста голяма.
20 или 200 панела не са толкова много, но ако формата ти може да се създава повече от веднъж (2,3,.... инстанции) под 9х може да имаш проблеми с ресурсите.
Всеки наследник на WinControl е доста ресурсоемък, а за 9х това е проблем.
В повечето случеи вместо tPanel може да се ползва tLabel, а разликата в ресурсите им е доста голяма.