Главная страница
    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.298 c
15-1212131847
123-ий
2008-05-30 11:17
2008.07.13
Delphi или Object Pascal


2-1213607057
Forsaken
2008-06-16 13:04
2008.07.13
Работа с OpenDialog и Zip-подобными архивами.


2-1213603321
Dmitry
2008-06-16 12:02
2008.07.13
#13#10


2-1212756942
Danco
2008-06-06 16:55
2008.07.13
Как вызвать программное нажатие клавиши в играх?


2-1213321722
AlexanderMS
2008-06-13 05:48
2008.07.13
Включить код на C в проект, написанный на Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский