Page 1 of 1

Series band pen.

Posted: Thu Sep 09, 2010 4:41 pm
by 9530487
I'm having trouble getting it working in MSC++.

I've used the code from the VB demo,

Code: Select all

Private Sub Form_Load()
  TChart1.AddSeries scLine
  TChart1.AddSeries scLine
  
  TChart1.Series(0).FillSampleValues (10)
  TChart1.Series(1).FillSampleValues (10)
  
  TChart1.Series(0).Color = RGB(130, 155, 254)
  TChart1.Series(1).Color = RGB(252, 209, 36)
  
  TChart1.Tools.Add tcSeriesBand
  
  With TChart1.Tools.Items(0).asSeriesBand
    .Series = TChart1.Series(0)
    .Series2 = TChart1.Series(1)
    .Gradient.EndColor = RGB(128, 0, 128)
    .Gradient.Visible = True
    .Pen.Visible = True
    .Pen.Width = 5
    .Pen.Color = vbRed
  End With
End Sub
and in C++, I've got

Code: Select all

            CToolList tools = pTChart->GetTools();
            tools.Add(tcSeriesBand);

            tools.GetItems(0).GetAsSeriesBand().SetSeries((VARIANT&)*pseries);

            tools.GetItems(0).GetAsSeriesBand().GetGradient().SetVisible(pRow->m_LineBorderSettings.m_bVisible);
            tools.GetItems(0).GetAsSeriesBand().GetGradient().SetEndColor(pRow->m_LineBorderSettings.m_Colour);
            tools.GetItems(0).GetAsSeriesBand().GetGradient().SetMidColor(pRow->m_LineBorderSettings.m_Colour);
            tools.GetItems(0).GetAsSeriesBand().GetGradient().SetStartColor(pRow->m_LineBorderSettings.m_Colour);

            tools.GetItems(0).GetAsSeriesBand().GetPen().SetVisible(pRow->m_LineBorderSettings.m_bVisible);
            tools.GetItems(0).GetAsSeriesBand().GetPen().SetWidth(pRow->m_LineBorderSettings.m_nWidth);
            tools.GetItems(0).GetAsSeriesBand().GetPen().SetColor(pRow->m_LineBorderSettings.m_Colour);
            tools.GetItems(0).GetAsSeriesBand().GetPen().SetEndStyle(pRow->m_LineBorderSettings.m_nPenEndStyle);
            tools.GetItems(0).GetAsSeriesBand().GetPen().SetStyle(pRow->m_LineBorderSettings.m_nPenEndStyle);

            tools.GetItems(0).GetAsSeriesBand().GetPen().SetSmallSpace(pRow->m_LineBorderSettings.m_nSpace);
The line
tools.GetItems(0).GetAsSeriesBand().SetSeries((VARIANT&)*pseries);
always causes a crash. I've tried

Code: Select all

tools.GetItems(0).GetAsSeriesBand().SetSeries(*pseries);
but that will not compile (cannot convert from CSeries to VARIANT).

Any ideas?

Re: Series band pen.

Posted: Thu Sep 16, 2010 1:27 pm
by narcis
Hi TonyVSUK,

First of all I'd like to apologise for the delayed reply.

What about doing as in the example here? Following what's in this example you can do this:

Code: Select all

	long series1;
	series1 = m_Chart1.AddSeries(scLine);

	CToolList tools = m_Chart1.GetTools();
    tools.Add(tcSeriesBand);

	tools.GetItems(1).GetAsSeriesBand().SetSeries(COleVariant(series1));

Re: Series band pen.

Posted: Thu Sep 16, 2010 1:37 pm
by 9530487
I'm sure I tried that.

But I've moved on to something else now anyway.

Re: Series band pen.

Posted: Thu Sep 16, 2010 1:54 pm
by narcis
Hello,

Didn't that work at your end? It works fine for me here.

Re: Series band pen.

Posted: Thu Sep 16, 2010 2:01 pm
by 9530487
I cannot remember. But it's definitely something I would have tried.

But like I said, I've moved onto something else.