Back to Devexpress

TdxChartAreaSeriesPointDrawParameters.Appearance Property

vcl-dxchartxyseriesareaview-dot-tdxchartareaseriespointdrawparameters.md

latest5.2 KB
Original Source

TdxChartAreaSeriesPointDrawParameters.Appearance Property

Provides access to the appearance settings of the area segment between the currently processed and previous series points.

Declaration

delphi
property Appearance: TdxChartXYSeriesAreaAppearance read;

Property Value

TypeDescription
TdxChartXYSeriesAreaAppearance

Stores Area series View appearance settings.

|

Remarks

Use MarkerAppearance and Appearance properties to customize the appearance of the point marker and area 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 Area series:

delphi
procedure TMyForm.cdAreaGetSeriesPointDrawParameters(Sender: TdxChartCustomDiagram;
  AArgs: TdxChartGetSeriesPointDrawParametersEventArgs);
var
  AAreaDrawParameters: TdxChartAreaSeriesPointDrawParameters;
  ASeries: TdxChartCustomSeries;
  AIndex: Integer;
begin
  if AArgs.SeriesPoint.Series.Caption = 'DevAV South' then
  begin
    if AArgs.DrawParameters.ClassType <> TdxChartAreaSeriesPointDrawParameters then Exit;
    AAreaDrawParameters := AArgs.DrawParameters as TdxChartAreaSeriesPointDrawParameters;
    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
      AAreaDrawParameters.MarkerAppearance.FillOptions.Color := TdxAlphaColors.Red;
      AAreaDrawParameters.Appearance.BeginUpdate;
      AAreaDrawParameters.Appearance.FillOptions.Color := TdxAlphaColors.OrangeRed;
      AAreaDrawParameters.Appearance.FillOptions.Mode := TdxFillOptionsMode.Hatch;
      AAreaDrawParameters.Appearance.FillOptions.HatchStyle := TdxFillOptionsHatchStyle.ForwardDiagonal;
      AAreaDrawParameters.Appearance.FillOptions.Color2 := TdxAlphaColors.Teal;
      AAreaDrawParameters.Appearance.StrokeOptions.Color := TdxAlphaColors.Red;
      AAreaDrawParameters.Appearance.StrokeOptions.Style := TdxStrokeStyle.Solid;
      AAreaDrawParameters.Appearance.EndUpdate;
    end;
  end;
end;
cpp
void __fastcall TMyForm::cdAreaGetSeriesPointDrawParameters(TdxChartCustomDiagram *Sender
   TdxChartGetSeriesPointDrawParametersEventArgs *AArgs)
{
  TdxChartAreaSeriesPointDrawParameters *AAreaDrawParameters;
  TdxChartCustomSeries *ASeries;
  int AIndex;
  // ...
  if(AArgs->SeriesPoint->Series->Caption == "DevAV South")
  {
    if(AArgs->DrawParameters->ClassType() != __classid(TdxChartAreaSeriesPointDrawParameters)) { return; }
    AAreaDrawParameters = dynamic_cast<TdxChartAreaSeriesPointDrawParameters*>(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])))
      {
        AAreaDrawParameters->MarkerAppearance->FillOptions->Color = TdxAlphaColors::Red;
        AAreaDrawParameters->Appearance->BeginUpdate();
        AAreaDrawParameters->Appearance->FillOptions->Color = TdxAlphaColors::OrangeRed;
        AAreaDrawParameters->Appearance->FillOptions->Color2 = TdxAlphaColors::Teal;
        AAreaDrawParameters->Appearance->FillOptions->Mode = TdxFillOptionsMode::Hatch;
        AAreaDrawParameters->Appearance->FillOptions->HatchStyle = TdxFillOptionsHatchStyle::ForwardDiagonal;
        AAreaDrawParameters->Appearance->StrokeOptions->Color = TdxAlphaColors::Red;
        AAreaDrawParameters->Appearance->StrokeOptions->Style = TdxStrokeStyle::Solid;
        AAreaDrawParameters->Appearance->EndUpdate();
      }
  }
}

See Also

TdxChartLineSeriesPointDrawParameters.Appearance Property

TdxChartAreaSeriesPointDrawParameters Class

TdxChartAreaSeriesPointDrawParameters Members

dxChartXYSeriesAreaView Unit