Back to Devexpress

TdxChartLineSeriesPointDrawParameters.MarkerAppearance Property

vcl-dxchartxyserieslineview-dot-tdxchartlineseriespointdrawparameters.md

latest4.4 KB
Original Source

TdxChartLineSeriesPointDrawParameters.MarkerAppearance Property

Provides access to the appearance settings of the currently processed series point’s marker.

Declaration

delphi
property MarkerAppearance: TdxChartXYSeriesLineMarkerAppearance read;

Property Value

TypeDescription
TdxChartXYSeriesLineMarkerAppearance

Stores series point marker appearance settings for Line and Area series Views.

|

Remarks

Use MarkerAppearance and Appearance properties to customize the appearance of the point marker and line segment associated with the currently processed series point.

Code Example: Customize Individual Series Points

The following code example demonstrates a diagram’s OnGetSeriesPointDrawParameters event handler that changes the appearance settings of points with peak values in a Simple Line series.

delphi
procedure TMyForm.cdLineGetSeriesPointDrawParameters(Sender: TdxChartCustomDiagram;
  AArgs: TdxChartGetSeriesPointDrawParametersEventArgs);
var
  ALineDrawParameters: TdxChartLineSeriesPointDrawParameters;
  ASeries: TdxChartCustomSeries;
  AIndex: Integer;
begin
  if AArgs.SeriesPoint.Series.Caption = 'Europe' then
  begin
    if AArgs.DrawParameters.ClassType <> TdxChartLineSeriesPointDrawParameters then Exit;
    ALineDrawParameters := AArgs.DrawParameters as TdxChartLineSeriesPointDrawParameters;
    AIndex := AArgs.SeriesPoint.Index;
    ASeries := AArgs.SeriesPoint.Series;
    if ((AIndex = 0) and (ASeries.Points.Values[AIndex] > ASeries.Points.Values[AIndex + 1])) or
       ((AIndex > 0) and (AIndex < ASeries.Points.Count - 1) and
       (ASeries.Points.Values[AIndex] > ASeries.Points.Values[AIndex + 1]) and
        (ASeries.Points.Values[AIndex] > ASeries.Points.Values[AIndex - 1])) then
    begin
      ALineDrawParameters.MarkerAppearance.FillOptions.Color := TdxAlphaColors.Red;
      ALineDrawParameters.Appearance.BeginUpdate;
      ALineDrawParameters.Appearance.StrokeOptions.Color := TdxAlphaColors.Red;
      ALineDrawParameters.Appearance.StrokeOptions.Style := TdxStrokeStyle.Solid;
      ALineDrawParameters.Appearance.EndUpdate;
    end;
  end;
end;
cpp
void __fastcall TMyForm::cdLineGetSeriesPointDrawParameters(TdxChartCustomDiagram *Sender
   TdxChartGetSeriesPointDrawParametersEventArgs *AArgs)
{
  TdxChartLineSeriesPointDrawParameters *ALineDrawParameters;
  TdxChartCustomSeries *ASeries;
  int AIndex;
  // ...
  if(AArgs->SeriesPoint->Series->Caption == "Europe")
  {
    if(AArgs->DrawParameters->ClassType() != __classid(TdxChartLineSeriesPointDrawParameters)) { return; }
    ALineDrawParameters = dynamic_cast<TdxChartLineSeriesPointDrawParameters*>(AArgs->DrawParameters);
    AIndex = AArgs->SeriesPoint->Index;
    ASeries = AArgs->SeriesPoint->Series;
    if(((AIndex == 0) && (ASeries->Points->Values[AIndex] > ASeries->Points->Values[AIndex + 1])) ||
      ((AIndex > 0) && (AIndex < ASeries->Points->Count - 1) &&
      (ASeries->Points->Values[AIndex] > ASeries->Points->Values[AIndex + 1]) &&
      (ASeries->Points->Values[AIndex] > ASeries->Points->Values[AIndex - 1])))
      {
        ALineDrawParameters->MarkerAppearance->FillOptions->Color = TdxAlphaColors::Red;
        ALineDrawParameters->Appearance->BeginUpdate();
        ALineDrawParameters->Appearance->StrokeOptions->Color = TdxAlphaColors::Red;
        ALineDrawParameters->Appearance->StrokeOptions->Style = TdxStrokeStyle::Solid;
        ALineDrawParameters->Appearance->EndUpdate();
      }
  }
}

See Also

TdxChartLineSeriesPointDrawParameters Class

TdxChartLineSeriesPointDrawParameters Members

dxChartXYSeriesLineView Unit