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

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

Подскажите: Invalidate


dummy ©   (2006-11-13 20:59:00) 

Добрый вечер господа.
Помогите понять пожалуйста, как работает DBGrid.Invalidate.
В книгах ничего не нашел, а в хелпе только общее описание.
Как я понял этот оператор указывает на то, что DBGrid должен быть перекрашен, а также позволяет избавиться от нежелательного мерцания.

Вот только не могу понять каким образом его использовать.
Простой вызов > DBgrid1.Invalidate< ни к чему не приводит.


Dummy   (2006-11-14 00:33:00) [1]

> [5] Percent   (13.11.06 22:23)
> [6] Percent   (13.11.06 22:29)

Спасибо большое !


Percent   (2006-11-13 22:29:00) [2]

Кроме того, события прорисовки (WM_PAINT) в очереди не накапливаются, то есть, если в очереди уже есть одно сообщение о прорисовке, то последующие не будут в нее добавляться; вплоть до того момента, как сообщение будет выбрано из очереди - после этого новое сообщение о прорисовке будет добавлено в очередь.

То есть,

for i := 0 to 999 do Invalidate; - вызовет одну прорисовку контрола.

for i := 0 to 999 do Refresh; - вызовет тысячу прорисовок контрола.


Percent   (2006-11-13 22:23:00) [3]

в чем преимущество Invalidate  перед Refresh;

Ни в чем. Они просто используются по-разному.
Invalidate вызывает отсроченнуюперерисовку.
Refresh (и Repaint)  - незамедлительную.


Dummy   (2006-11-13 22:10:00) [4]

ОК, вроде разобрался. Спасибо! :)

Может тогда хоть объясните: в чем преимущество Invalidate  перед Refresh;


Dummy   (2006-11-13 21:16:00) [5]

> [1] Loginov Dmitry ©   (13.11.06 21:03)
Вот и прошу помочь разобраться


> [2] Leonid Troyanovsky ©   (13.11.06 21:03)

Мне кажется в этом не смысла :), т.к. спорить с Вами мне не хватит знаний.

И все же, как его нужно использовать?


Loginov Dmitry   (2006-11-13 21:03:00) [6]

dummy   (13.11.06 20:59)
Как я понял этот оператор указывает на то, что DBGrid должен быть перекрашен


ага. Всеми цветами радуги сразу.


Leonid Troyanovsky   (2006-11-13 21:03:00) [7]


> dummy   (13.11.06 20:59)  

> Простой вызов > DBgrid1.Invalidate < ни к чему не приводит.


Докажи.

--
Regards, LVT.


Наверх

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