Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

Отрисовка одной ячейки в StringGrid   Найти похожие ветки 

 
BFG9k   (2004-12-28 13:47) [0]

Есть потомок TStringGrid с перекрытым DrawCell. Необходимо отрисовать одну ячейку , когда изменяются данные. Делаю примерно следующее :

State:=[];
DrawCell(i,j,CellRect(i,j),State);


... и ячейка не перерисовывается , либо перерисовывается некорректно. Если вместо вышеприведенного кода вызвать Refresh - все нормально отрисовывается. Но перерисовывать каждый раз всю таблицу , когда меняется всего одна ячейка, с помощью Refresh  накладно , таблица мерцает.

Залезть внутрь Refresh дальше Repaint не получилось. Кто знает , что же еще делает Refresh кроме непосредсвенно прорисовки ячеек ? Такое впечатление , что что-то запрещает мне рисовать на таблице.


 
У   (2004-12-28 14:08) [1]

InvalidateCell


 
Ricko ©   (2004-12-28 16:27) [2]

SottNick советует:
Если в таблице вы используете событие OnDrawCell для помещения в ячейку рисунка, причем различного, в зависимости, например, от соответствующего значения в двумерном массиве, и вам надо, чтобы после изменения значения в массиве обновилось изображение (Refresh не подходит, т.к. будет мелькать), то измените значение у ячейки (DrawGrid не годится):

StringGrid1.Cells[i,j]:="";  

или

StringGrid1.Cells[i,j]:=StringGrid1.Cells[i,j];  

если там что-то хранится

(C) Советы по Delphi. Валентин Озеров.



Страницы: 1 вся ветка

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
3-1103026936
VitaWED
2004-12-14 15:22
2005.01.16
Ошибка TimeOut SQL Server


1-1104396260
Алексей
2004-12-30 11:44
2005.01.16
Использование функций из библиотеки


9-1096892904
VasyaPupkin
2004-10-04 16:28
2005.01.16
Выделение спрайта


6-1098729042
Ермак
2004-10-25 22:30
2005.01.16
Именованные каналы в сети


1-1104369733
MagaSoft(1)
2004-12-30 04:22
2005.01.16
Тулбар в IE.