Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстро обновить все визуальные компонент на форме [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) разве недостаточно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо