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

Вниз

Показ точек линии в TEEChart программным способом   Найти похожие ветки 

 
Igor Stepanov   (2005-06-07 18:23) [0]

Уважаемые мастера,

Как программно установить у компонента LineSeries показ точек?

Это легко делается в ChartEditor, но как то же самое сделать программно, из help неясно.

Заранее благодарю,
Игорь Степанов


 
Ученик   (2005-06-07 22:36) [1]

>Igor Stepanov   (07.06.05 18:23)  

Series.Pointer.Visible := True


 
Igor Stepanov   (2005-06-08 09:16) [2]

Я объявляю программно ряды типа LineSeries в цикле следующим образом:
 For i:=1 to N do begin
 QRDBChart1.AddSeries((TLineSeries.Create(self)));
 QRDBChart1.Series[i].ParentChart:=QRDBChart1;
 QRDBChart1.Series[i].Title:=Testnames[i];
 QRDBChart1.Series[i].SeriesColor:=clBlack;
Этот код компилируется нормально. Однако следующаЯ строчка

 QRDBChart1.Series[i].Pointer.Visible:=True;

при компиляции вызывает ошибку: "Undeclared identifier: "Pointer"

Если посмотреть в список свойств и методов,
открывающийся при написании кода
QRDBChart1.Series[i].

невозможно найти свойство Pointer. Его нет в списке свойств TLineSeries.
Это странно, так как в Справке сказано, что
TLineSeries derives from TCustomSeries, which adds support for Series Pointers, Marks and click events.

И далее: You can show point shapes by using the Pointer subcomponent property.

Please refer to TCustomSeries ancestor description for all common Series properties like Marks, Axis dependence, methods and events.

Если мы обратимся в справке к TCustomSeries, то у него есть свойство Pointer, которое действительно обладает нужными нам свойствами. Почему же у компонента TLineSeries, который является наследником компонента TCustomSeries, нет свойства Pointer?
Pointer находится в модуле Series, и этот модуль присутствует в списке USES.

В чем моя ошибка?

Игорь Степанов


 
MBo ©   (2005-06-08 09:22) [3]

TLineSeries(QRDBChart1.Series[i]).Pointer.Visible:=True;

Кроме того, в коде неаккуратно обращаешься со списком серий - подразумевается, что одна серия уже есть, и при создании очередной в цикле идет обращение по жестко заданному индексу - лучше использовать SeriesCount-1


 
Igor Stepanov   (2005-06-08 13:18) [4]

Спасибо.
Правильно ли я понял, что выражение TLineSeries(QRDBChart1.Series[i-1]). является приведением типов?

Можно задать следующий вопрос: как сделать так, чтобы точки, определяемые свойством Poiner рисовались бы не по всей кривой, а только в точках меток оси Х? Дело в том, что мне надо на одном графике нарисовать несколько кривых. Для их различения используют разные виды точек, но их не должно быть слишком много. Лучше всего по точке в месте метки на оси Х. Можно ли это сделать?

С уважением, Игорь Степанов


 
MBo ©   (2005-06-08 14:18) [5]

>Правильно ли я понял, что выражение TLineSeries(QRDBChart1.Series[i-1]). является приведением типов?

Да. QRDBChart1.Series[i] имеет родительский тип, для которого свойства потомков неизвестны.

>определяемые свойством Poiner рисовались бы не по всей кривой
OnGetPointerStyle. Где не нужно - psNothing


 
Igor Stepanov   (2005-06-08 16:37) [6]

К сожалению, в справке нет события OnGetPointerStyle. Какие параметры должны быть использованы?

Спасибо за помощь.
Игорь Степанов


 
Ученик   (2005-06-08 22:21) [7]

>Igor Stepanov   (08.06.05 16:37) [6]


 TSeriesPointerStyle=( psRectangle,psCircle,psTriangle,psDownTriangle,
                       psCross,psDiagCross,psStar,psDiamond,psSmallDot,
                       psNothing,psLeftTriangle,psRightTriangle );

TOnGetPointerStyle=Function( Sender:TChartSeries;
                            ValueIndex:Integer):TSeriesPointerStyle of object;



 
Igor Stepanov   (2005-06-09 18:40) [8]

К сожалению, отсутствие внятной документации по применению TOnGetPointerStyle привело меня к решению о том, что мне гораздо проще самому нарисовать маркеры на кривых для их идентификации. Я это уже программировал на Паскале под DOS, так что теперь все это можно сделать и под Windows.

Таким образом, для себя я проблему закрыл.
Большое спасибо всем за помощь и советы.
С уважением и наилучшими пожеланиями,
Игорь Степанов



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1116841354
ass1
2005-05-23 13:42
2005.06.29
isc4.gdb


1-1118126471
Леонид
2005-06-07 10:41
2005.06.29
Как запретить ввод значений в combobox


14-1117709898
GolNec
2005-06-02 14:58
2005.06.29
компонент для просмотра Анимированных Gif ok


1-1117921250
Green_Templar
2005-06-05 01:40
2005.06.29
screen.cursor


3-1116522241
PalladinA
2005-05-19 21:04
2005.06.29
Похоронил ли Delphi 2005 технологию BDE?





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