Базовый класс графиков – TChartSeries
Процесс создания нового графика всегда начинается с ответа на вопрос: «Какой вид графика вы рассчитываете увидеть на диаграмме?». Если поиск ответа начался еще во время проектирования приложения, то у вас есть превосходная подсказка. На странице Series встроенного редактора компонента TChart (см. рис. 18.3) нажимаем кнопку Add и в новом окне подбираем пиктограмму графика с устраивающей нас внешностью(рис. 18.4); все остальное – проблемы диаграммы.
Рис. 18.4. Выбор вида графика
Несколько сложнее обстоит дело, если формирование экземпляра графика возложено на код приложения. В этом случае программисту предварительно стоит разобраться со всем спектром графиков (графики описаны в модуле TeEngine): TLineSeries, TAreaSeries, TPointSeries, TBarSeries, THorizBarSeries, TPieSeries, TChartShape, TFastLineSeries, TArrowSeries, TGanttSeries, TBubbleSeries. Согласитесь, что список нельзя назвать скромным – разработчик компонента Дэвид Бернеда потрудился на славу.
К счастью, Дэвид превосходно владеет канонами объектно-ориентированного программирования. Поэтому все перечисленные типы графиков предусмотрительно построены на основе единого базового класса – графика TChartSeries. Различия между родительским и дочерними классами сведены к незначительным деталям, а это существенно упрощает процесс эксплуатации диаграммы нашим братом – скромным программистом. Оставив детали на самостоятельное изучение, мы подробно поговорим о главном – базовом классе TChartSeries.
Независимо от класса любой график инкапсулирует в своем составе ряд обязательных объектов, ключевыми из которых являются:
• TChartValueList– специализированный список, предназначенный для ввода,
редактирования и удаления массива значений – точек графика.
• TSeriesPointer – специализированный класс для создания диаграмм в виде
простейших геометрических фигур.
• TSeriesMarks – метки-пояснения над точками графика.
Для создания экземпляра графика программным способом вызывается его конструктор:
constructorCreate(Chart : TCustomChart);
Единственный параметр конструктора – ссылка на диаграмму, в состав которой войдет только что рожденный график. Кстати, график может не принадлежать ни одной из диаграмм проекта, но тогда от него мало проку, так как без владельца он окажется невидимым. Поэтому в большинстве случаев для графика целесообразно назначить хозяина, а если это не было сделано в рамках конструктора, то для переподчинения графика диаграмме требуется обратиться к его свойству:
propertyParentChart : TCustomChart;
Тем более, что никогда не поздно вывести график из-под опеки диаграммы. Для этого просто передайте в свойство ParentChart неопределенный указатель nil:
ASeries1.ParentChart:= Chart2; //график ASeries1 передан в подчинение диаграмме Chart2
ASeries2.ParentChart:= nil; //график ASeries2 утратил владельца
Дата добавления: 2016-03-15; просмотров: 1063;