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 721 - IsoHorizAxes/IsoVertAxes not rendering correctly when WinForm maximized
Summary: IsoHorizAxes/IsoVertAxes not rendering correctly when WinForm maximized
Status: RESOLVED FIXED
Alias: None
Product: .NET TeeChart
Classification: Unclassified
Component: Axes (show other bugs)
Version: TeeChart.NET 2014 4.1.2014.02060
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Steema Issue Manager
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-14 04:18 EDT by christopher ireland
Modified: 2014-05-19 07:04 EDT (History)
1 user (show)

See Also:
Chart Series: ---
Delphi / C++ Builder RAD IDE Version:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description christopher ireland 2014-04-14 04:18:50 EDT
The following code illustrates the problem. Run the code then maximize the window - the chart is only rendered correctly after a zoom/unzoom operation.

        public Form1()
        {
          InitializeComponent();

          m_Chart.Aspect.View3D = false;
          m_RectangleX[0] = -50.0;
          m_RectangleY[0] = -50.0;

          m_RectangleX[1] = 50.0;
          m_RectangleY[1] = -50.0;

          m_RectangleX[2] = 50.0;
          m_RectangleY[2] = 50.0;

          m_RectangleX[3] = -50.0;
          m_RectangleY[3] = 50.0;

          m_RectangleX[4] = -50.0;
          m_RectangleY[4] = -50.0;

          m_Line.XValues.Count = 5;
          m_Line.XValues.Value = m_RectangleX;

          m_Line.YValues.Count = 5;
          m_Line.YValues.Value = m_RectangleY;

          m_Chart.Series.Add(m_Line);

          m_Chart.Axes.Bottom.Automatic = false;
          m_Chart.Axes.Bottom.Minimum = -100.0;
          m_Chart.Axes.Bottom.Maximum = 100.0;
          m_Chart.Axes.Bottom.Visible = false;
          m_Chart.Axes.Bottom.Ticks.Length = 0;

          m_Chart.Axes.Left.Automatic = false;
          m_Chart.Axes.Left.Minimum = -100.0;
          m_Chart.Axes.Left.Maximum = 100.0;
          m_Chart.Axes.Left.Visible = false;
          m_Chart.Axes.Left.Ticks.Length = 0;

          m_Line.IsoHorizAxes = true;

        }
Comment 1 raavi.mohindar.rao 2014-04-30 07:47:41 EDT
May I have any updates on this bug?
Comment 2 christopher ireland 2014-05-02 05:01:15 EDT
I'm afraid that this defect has not been fixed for the upcoming maintenance release, but will be given careful attention next week.
Comment 3 raavi.mohindar.rao 2014-05-07 05:16:17 EDT
Thanks. 

Hope there is some solution in this week.
Comment 4 christopher ireland 2014-05-19 06:08:18 EDT
This is now fixed, and there is an effective workaround to this issue which only occurs when the axes are set to Visible=false. The workaround is the follows:

    private void InitializeChart()
    {
      Line m_Line = new Line(tChart1.Chart);
      double[] m_RectangleX = new double[5];
      double[] m_RectangleY = new double[5];

      tChart1.Aspect.View3D = false;
      m_RectangleX[0] = -50.0;
      m_RectangleY[0] = -50.0;

      m_RectangleX[1] = 50.0;
      m_RectangleY[1] = -50.0;

      m_RectangleX[2] = 50.0;
      m_RectangleY[2] = 50.0;

      m_RectangleX[3] = -50.0;
      m_RectangleY[3] = 50.0;

      m_RectangleX[4] = -50.0;
      m_RectangleY[4] = -50.0;

      m_Line.XValues.Count = 5;
      m_Line.XValues.Value = m_RectangleX;

      m_Line.YValues.Count = 5;
      m_Line.YValues.Value = m_RectangleY;

      tChart1.Series.Add(m_Line);

      tChart1.Axes.Bottom.Automatic = false;
      tChart1.Axes.Bottom.Minimum = -100.0;
      tChart1.Axes.Bottom.Maximum = 100.0;
      tChart1.Axes.Bottom.Visible = false;
      tChart1.Axes.Bottom.Ticks.Length = 0;

      tChart1.Axes.Left.Automatic = false;
      tChart1.Axes.Left.Minimum = -100.0;
      tChart1.Axes.Left.Maximum = 100.0;
      tChart1.Axes.Left.Visible = false;
      tChart1.Axes.Left.Ticks.Length = 0;

      m_Line.IsoHorizAxes = true;

      tChart1.BeforeDrawSeries += tChart1_BeforeDrawSeries;
    }

    void tChart1_BeforeDrawSeries(object sender, Graphics3D g)
    {
      tChart1.Axes.Bottom.AdjustMaxMin();
    }
Comment 5 raavi.mohindar.rao 2014-05-19 07:04:25 EDT
Fixed: Confirmed. Works now.