Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Вниз

OnDrawCell в DrawGrid   Найти похожие ветки 

 
Начинающий   (2008-06-14 12:49) [0]

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


 
{RASkov} ©   (2008-06-14 13:29) [1]

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

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

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

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


 
Leonid Troyanovsky ©   (2008-06-15 09:58) [2]


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

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

InvalidateCell

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

Invalidate

--
Regards, LVT.


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


> InvalidateCell

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


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

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

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


 
Leonid Troyanovsky ©   (2008-06-15 12:03) [5]


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

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

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

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

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2008-06-15 12:08) [6]

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

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


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

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



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

Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
2-1213341653
Dmitry
2008-06-13 11:20
2008.07.13
Canvas


15-1212330216
Foo Fighters
2008-06-01 18:23
2008.07.13
Скрипт загрузки файла на сервер


15-1212063606
Reindeer Moss Eater
2008-05-29 16:20
2008.07.13
asus P5K PRO не видит камеру через 1394


11-1172648216
Trible
2007-02-28 10:36
2008.07.13
Glyph для GrushButton


11-1189856395
Robt
2007-09-15 15:39
2008.07.13
ComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский