Главная страница
    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.037 c
1-1118054413
Gear
2005-06-06 14:40
2005.06.29
Удаление элемента из динамического массива.


14-1117925845
Piter
2005-06-05 02:57
2005.06.29
Реализация аналога file в PHP


14-1117659277
Anatoly Podgoretsky
2005-06-02 00:54
2005.06.29
Еще не всех сбили


14-1117982374
Хинт
2005-06-05 18:39
2005.06.29
Помогите выбрать цветовое оформление сайта


3-1116708519
Starcom
2005-05-22 00:48
2005.06.29
Password...





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