Главная страница
    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
15-1211982202
@!!ex
2008-05-28 17:43
2008.07.13
Как построить матрицу проекции?


2-1213368785
TForumHelp
2008-06-13 18:53
2008.07.13
Отлавливание сообщения


3-1202115145
Tsyba_Stanislav
2008-02-04 11:52
2008.07.13
Проблема возврата строк в запросе под ОС Виста


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


4-1189080955
kernel
2007-09-06 16:15
2008.07.13
End LBA в HDD





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