Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 2698

Summary: TChart ColorBand Start- and End-values are lost when Colorband is outside of visible chart area
Product: VCL TeeChart Reporter: Uwe Heim-Bertgen <uhb>
Component: ToolsAssignee: Steema Issue Manager <issuemanager>
Status: RESOLVED NOTABUG    
Severity: major CC: yeray
Priority: ---    
Version: 38.230607   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
URL: https://stackoverflow.com/q/78365407/509369
Chart Series: --- Delphi / C++ Builder RAD IDE Version: RAD 11 Alexandria

Description Uwe Heim-Bertgen 2024-04-29 07:33:34 EDT
A ColorBand (ChartTool) assigned to Bottom axis on a TChart Component will be compressed to a vertical line when beeing dragged beyond start or end of Bottom axis. ColorBand.StartValue and ColorBand.Endvalue will both take either Start- or Endvalue of Bottom Axis.

Earlier versions of TChart used to preserve the Start- And EndValues of Colorbands, even if the Bands were not visible within the current Bottom axis area.
Comment 2 yeray alonso 2024-05-01 10:46:54 EDT
That change was part of a bug fix.
I've prepared a simple example to test this:

uses Chart, Series, TeeTools;

var Chart1: TChart;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Chart1:=TChart.Create(Self);

  with Chart1 do
  begin
    Parent:=Self;
    Align:=alClient;
    Color:=clWhite;
    Gradient.Visible:=False;
    Walls.Back.Color:=clWhite;
    Walls.Back.Gradient.Visible:=False;
    Legend.Hide;
    View3D:=False;

    with TPointSeries(AddSeries(TPointSeries)) do
    begin
      FillSampleValues(100);
      Pointer.Size:=2;
    end;

    with TColorBandTool(Tools.Add(TColorBandTool)) do
    begin
      Axis:=Axes.Bottom;
      StartValue:=20;
      EndValue:=70;
      //StartLine.NoLimitDrag:=True;
      //EndLine.NoLimitDrag:=True;
    end;
  end;
end;

Note the NoLimitDrag property of the TColorLineTool(s) inside the TColorBandTool, which is False by default.
Before v2023.38 setting those NoLimitDrag properties to False/True made no difference, and you could still drag the ColorBand out of the chart without limits.
From TeeChart v2023.38, NoLimitDrag property is considered. As per default, False, those ColorLine values are limited to the bounds of the chart. However, setting the NoLimitDrag property to True does change that behaviour, and you can   drag outside the chart bounds without limits.