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

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

OnDrawCell в DrawGrid


Начинающий ©   (2008-06-14 12:49:00) 

когда наступает? У меня, если в DrawGrid использую SelectCell или Repaint, то прорисовывается. Если програмно меняю значения ячеек и не делаю repaint, то нет. А при Repaint происходит мерцание DrawGrid.  
В связи с этим вопросы:
- как привязать массив к DrawGrid так, чтобы при изменении значений в массиве. происходило автоматическое обновление DrawGrid
- как побороть мерцание при перерисовке DrawGrid


Начинающий   (2008-06-15 12:36:00) [1]

спасибо всем :)


Anatoly Podgoretsky   (2008-06-15 12:08:00) [2]

> Начинающий  (15.06.2008 11:53:04)  [4]

Ну ты выбирай одно из двух, или мерчает, или подтормаживает.


Leonid Troyanovsky   (2008-06-15 12:03:00) [3]


> Начинающий   (15.06.08 11:53) [4]

> Вопрос по InvalidateCell остался открытым :)

type
 TCrackGrid = class(TDrawGrid);
..
 TCrackGrid(Grid).InvalidateCell(ACol, ARow);

Только использование InvalidateCell весьма специфично.
Ведь обычно у массива нет представлений о месте, где
отображаются его элементы.

--
Regards, LVT.


Начинающий   (2008-06-15 11:53:00) [4]

Invalidateи Doublebufferedпомогло, мерцать перестало, но, похоже, подтормаживает при перерисовке (хотя, это может быть мое неправильное ощущение :) )

Вопрос по InvalidateCell остался открытым :)


Начинающий   (2008-06-15 11:46:00) [5]


> InvalidateCell

А как вызвать этот метод для DrawGrid? В списке доступных он не значится.


Leonid Troyanovsky   (2008-06-15 09:58:00) [6]


> {RASkov} ©   (14.06.08 13:29) [1]

> Перерисовывать только изменившиеся ячейки (например, вызовом
> обработчика OnDrawCell(для каждой обновляемой ячейки(!))

InvalidateCell

> Начинающий   (14.06.08 12:49)  

Invalidate

--
Regards, LVT.


{RASkov}   (2008-06-14 13:29:00) [7]

> чтобы при изменении значений в массиве. происходило автоматическое обновление DrawGrid
> - как побороть мерцание при перерисовке DrawGrid

Перерисовывать только изменившиеся ячейки (например, вызовом обработчика OnDrawCell(для каждой обновляемой ячейки(!)) напрямую с передачей нужных параметров)
+, возможно, Doublebuffered...

> когда наступает?

Когда необходимо перерисовать ячейку, координаты которой передаются параметром.... Наступает при сообщении WM_PAINT....


Наверх

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