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

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

Что вызывать Update или Invalidate?


nali ©   (2006-08-31 21:15:00) 

Привет! Как грамотно вызвать перерисовку определенного
прямоугольника у потомка TWinControl, а точнее у
потомка TCustomGrid.
 При MouseDown в нужном месте такой код:
 ...
 InvalidateCell(X, Y); // аналог InvalidateRect у TCustomGrid
 Update;

Что надо вызывать Update или Invalidate ?


han_malign   (2006-09-01 10:26:00) [1]

Вру - Invalidate - действительно, (но без еще раз) обновит отрисовку ВСЕЙ таблицы,
а Update просто "насильно пропихнет" отрисовку региона помеченного для обновление по InvalidateCell.
Но - реакцию отображения это улучшит не сильно, а если несколько ячеек обновляется подряд - то еще и ухудшит...


han_malign   (2006-09-01 10:17:00) [2]

см. Loginov Dmitry ©   (31.08.06 21:41) [2]

InvalidateCell(X, Y) - обновит необходимую ячейку(бедет вызван Windows.InvalidateRect для региона ячеки). Update или Invalidate - еще раз обновит отрисовку ВСЕЙ таблицы, что, в большинстве случаев, лишнее...


Германн   (2006-09-01 01:26:00) [3]


> Что надо вызывать Update или Invalidate ?
>

Ты забыл упомянуть ещё Repaint! А в целом см. [1]


Loginov Dmitry   (2006-08-31 21:41:00) [4]

> Что надо вызывать Update или Invalidate ?


А может лучше ни того, ни другого?


Ketmar   (2006-08-31 21:38:00) [5]

в зависимости от того, какой результат надо получить.


Наверх

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