Вниз
Скачать: 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.02 c
1-41625
SkyRanger
2003-10-26 11:40
2003.11.13
Динамические массивы


6-41780
SergP
2003-09-16 11:01
2003.11.13
Можно ли как-нить узнать свободен ли данный порт?


1-41600
Иванько
2003-10-26 23:37
2003.11.13
Работа с HotKey


1-41652
snlnik
2003-10-19 20:10
2003.11.13
проверка существования ключа в реестре


3-41030
KIR
2003-10-14 11:48
2003.11.13
А что если SUM(Table.Field) = null?




   Наверх