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

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

Динамически создаю CheckBox на GroupBox. Как исключить моргание? [D6, WinXP]


Zirus ©   (2005-12-23 18:53:00) 

CheckBox-ов много, поэтому создаются они достаточно долго. Время создания приемлимо. Но очень неприятно моргание.
Хочется чтобы GroupBox перерисовывался не во время создания CheckBox-ов, а по окончании. Как это сделать?


Zirus   (2005-12-27 16:03:00) [1]

GuAV - спасибо, помогло!

Вот как сделал:

1) LockWindowUpdate(form1.Handle);
2) рисую компоненты
3) LockWindowUpdate(0);


klim   (2005-12-25 12:14:00) [2]

Как на счет того чтобы создать их сначала невидимыми, а после создания нарисовать


GuAV   (2005-12-24 15:37:00) [3]

Мож, LockWindowUpdate ?


Eraser   (2005-12-24 15:15:00) [4]


> Zirus   (24.12.05 14:39) [4]

Может лучше использовать специально созданный для твоих целей компонент, вроде TCheckListBox или TListView?


Zirus   (2005-12-24 14:39:00) [5]

> RadioGroup1.DoubleBuffered := true;
не помогло, только дольше стали создаваться компоненты

> RadioGroup1.Items.BeginUpdate;
> RadioGroup1.Items.EndUpdate;
Так ведь у меня GroupBox! Какие там Items?

Parent в конце цикла создания присвоить?
тоже не помогло

> Их действительно нужно так много?
Да. Ну... штук до 30. И всё это во множестве различных вариантов.

Хоть закрашивай GroupBox при помощи Image, чесслово!


TUser   (2005-12-23 19:54:00) [6]


> CheckBox-ов много, поэтому создаются они достаточно долго.

Их действительно нужно так много?


alex_***   (2005-12-23 19:32:00) [7]

Parent в конце цикла создания присвоить?


Eraser   (2005-12-23 19:21:00) [8]


> Zirus   (23.12.05 18:53)

1 вариант
 RadioGroup1.Items.BeginUpdate;
 RadioGroup1.Items.EndUpdate;

2 вариант
RadioGroup1.DoubleBuffered := true;


Наверх

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