![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что вызывать 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]в зависимости от того, какой результат надо получить.