![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстро обновить все визуальные компонент на форме [D7, WinXP]
Grol © (2006-02-26 05:08:00)Вот такой вопрос: На форме есть много всяких различных компонентов, необходимо одним махом их обновить, т.е. сделать всем Refresh.
Вот допустим куча Button'ov и Image'ей. Делаю так:
procedure TForm1.spSkinButton1Click(Sender: TObject);
begin
Image1.Refresh;
Image2.Refresh;
Image3.Refresh;
Image4.Refresh;
...
ImageN.Refresh;
Button1.Refresh;
Button2.Refresh;
Button3.Refresh;
Button4.Refresh;
...
ButtonN.Refresh;
end;
Но это же наверно не правильно, вызывать одну и туже процедуру много раз, к тому же неудобно и много строчек...:)
Вообщем как можно обновить все компоненты одним махом, в том числе и форму?
Джо (2006-02-26 06:04:00) [1]
procedure RefreshAll (AForm: TForm);
var
I: Integer;
begin
for I := 0 to AForm.ComponentCount-1 do
if AForm.Components[I] is TControl then
TControl(AForm.Components[I]).Refresh
end;
Grol (2006-02-26 06:00:00) [2]Нет этого недостаточно, т.к. если вызвать процедуру формы Refresh, то обновится только форма, а компоненты, которые находятся на ней не обновятся...:(
ЮЮ (2006-02-26 05:16:00) [3]А просто Refresh (как метод экземпляра TForm1) разве недостаточно?