Вниз
Скачать: CL | DM;

Проблема с прорисовкой в Chart   Найти похожие ветки 

← →
MAPIIIAJL ©   (2003-11-03 15:15) [0]

Проблема с прорисовкой в Chart. В Chart рисую график,
кот. отображает определенные данные, находящиеся в таблице на тойже форме. По таблице перемещаю курсор, в зависимости от его положения рисую на графике дополнительный курсор в виде кружка, для подсветки точки на графике, соответствующей точке в таблице. Вот в чем проблемс. Кружок на Chart-e рисуется в Canvas-e. При потере фокуса формы, и получении его снова, он не перерисовывается!!! Т.е. если открыть какое либо окно, поверх запущенного приложения, то новое окно сотрет кружок, и при возврате в приложение будет отображен график уже без кружка. Событие AfterDraw не работает при потере фокуса. Такая же чехорда происходит при свертывании/развертывании приложения.
И еще: в канаве я рисую используя метод Canvas.Pen.Mode:=pmNotXor;
Т.е. старый курсор гасится за счет повторного рисования по нему
Canvas.Ellipse(XPos-10, YPos-10, XPos+10, YPos+10);
А при пропадании курсора из-за потери фокуса у меня рисуется 2 курсора. Потому что я рисую в том же месте чтоб якобы погасить предыдущий, а на деле получается его прорисовка...

Может кто нить подскажет, как справиться с проблемой? Заранее спасиб.


← →
BrainStorm   (2003-11-03 18:26) [1]

Если рисовать на Canvas, то лучше всего на PaintBox.Canvas и для перерисовки использовать событие OnPaint.
А в Chart рисуют с помощью Chart.Series[nNum].AddXY(...
и тогда Chart сам позаботится о перерисовке.


← →
MAPIIIAJL ©   (2003-11-04 09:38) [2]

Понял! Буду менять код. спасиб!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
4-42226
Ded Moroz
2003-09-02 16:35
2003.11.13
Изменение размера элемента менюшки


3-41047
dimablind
2003-10-24 15:26
2003.11.13
функция max в sql


1-41161
Yanval
2003-10-31 12:12
2003.11.13
title в TWebBroswer


1-41513
XED
2003-10-28 00:23
2003.11.13
Распознавание символов(OCR)


1-41429
PavelSin
2003-10-29 14:46
2003.11.13
Keyboard in Delphi




   Наверх