Series band pen.

TeeChart for ActiveX, COM and ASP
Post Reply
TonyVSUK
Advanced
Posts: 163
Joined: Wed Mar 01, 2006 12:00 am

Series band pen.

Post by TonyVSUK » Thu Sep 09, 2010 4:41 pm

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?

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Series band pen.

Post by Narcís » Thu Sep 16, 2010 1:27 pm

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));
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

TonyVSUK
Advanced
Posts: 163
Joined: Wed Mar 01, 2006 12:00 am

Re: Series band pen.

Post by TonyVSUK » Thu Sep 16, 2010 1:37 pm

I'm sure I tried that.

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

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Series band pen.

Post by Narcís » Thu Sep 16, 2010 1:54 pm

Hello,

Didn't that work at your end? It works fine for me here.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

TonyVSUK
Advanced
Posts: 163
Joined: Wed Mar 01, 2006 12:00 am

Re: Series band pen.

Post by TonyVSUK » Thu Sep 16, 2010 2:01 pm

I cannot remember. But it's definitely something I would have tried.

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

Post Reply