Does TeeChart 7 control need to be attached to a window?

TeeChart for ActiveX, COM and ASP
Post Reply
ESRI
Newbie
Newbie
Posts: 60
Joined: Wed Mar 09, 2005 5:00 am

Does TeeChart 7 control need to be attached to a window?

Post by ESRI » Thu Sep 15, 2005 5:43 pm

Does TeeChart 7 control need to be attached to a host window and painted in order to run correctly some functions?

For example, user creates TChart object and adds a series to it, loads data etc. Generally, does the same sequence of calls which would produce a chart if the object would be hosted in the window as ActiveX control.
Then user makes a call to ISeries::Clicked or ITChart::Draw (may be some other methods). Those calls fail without chart being painted at least one time in a host window.

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

Post by Narcís » Mon Sep 19, 2005 11:06 am

Hi Alex,

Could you please let us know what do you exactly want to do with Clicked method if the chart is not displayed in any window or form?

We have tried doing a call to Clicked method in a TChart created at run-time but not being drawn to any form and works fine:

Code: Select all

Option Explicit
 
Public Sub Command1_Click()
  Dim chartObj As New TeeChart.TChart
  
  Dim label1 As String, label2 As String, label3 As String, label4 As String, label5 As String
  label1 = "The x xx x xxxx xxxxx xxx" & Chr(13) & "xxxx xxxxxx"
  label2 = "xxx x xxxxxx xxx xx" & Chr(13) & "xxxxxxx xxxxxxxx xxx" & Chr(13) & "xxxxx xxx xxxxxxxx xx xxx" & Chr(13) & "xxxxxxxxxxxx"
  label3 = "xxx x xxxxxxxx xxxxxxxxx" & Chr(13) & " xxxxxxxxxx xxx xxxxxxx" & Chr(13) & " xxx xxxxxx xxxxxx xx xxx"
  label4 = "xxx xxxx x xxxxx xx" & Chr(13) & " xxxxxxxxxx xxx xxxxxxxxx" & Chr(13) & " xx xxx xxxx"
  label5 = "xxx xxxx xx x xxxx xxxxx" & Chr(13) & " xx xxxxx xxxxxxxx"
  
  chartObj.ClearChart
  
  chartObj.AddSeries (scHorizBar)
  chartObj.AddSeries scHorizBar
  chartObj.Axis.Bottom.Visible = False
  
  With chartObj.Series(0)
    .Add 41, label1, RGB(255, 255, 204)
    .Add 52, label2, RGB(255, 255, 204)
    .Add 6, label3, RGB(255, 255, 204)
    .Add 1, label4, RGB(255, 255, 204)
    .Add 80, label5, RGB(255, 255, 204)
    
    .Marks.Arrow.Visible = False
    .Marks.Transparent = True
    .Marks.ArrowLength = 0
    .Marks.Style = smsValue
    .ValueFormat = "0%"
    .Marks.Font.Name = "Arial MT"
    .Marks.Font.Size = 12
  End With
  
  With chartObj.Series(1)
    .Add 36, label1, RGB(153, 0, 0)
    .Add 55, label2, RGB(153, 0, 0)
    .Add 8, label3, RGB(153, 0, 0)
    .Add 1, label4, RGB(153, 0, 0)
    .Add 50, label5, RGB(153, 0, 0)
    
    .Marks.Arrow.Visible = False
    .Marks.Transparent = True
    .Marks.ArrowLength = 0
    .Marks.Style = smsValue
    .ValueFormat = "0%"
    .Marks.Font.Name = "Arial MT"
    .Marks.Font.Size = 12
  End With
  
  With chartObj.Axis.Left
    .Labels.Align = alOpposite
    .Ticks.Visible = False
    .TicksInner.Visible = False
    .MinorTicks.Visible = False
    .Labels.Font.Name = "Arial MT"
    .Labels.Font.Size = 12
    .GridPen.Visible = False
    .Labels.MultiLine = True
    .Labels.Size = 0
  End With
  
  chartObj.Walls.Visible = False
  chartObj.Panel.Border.Visible = False
  chartObj.Panel.Color = vbWhite
  chartObj.Height = 8.5 * 1440
  chartObj.Width = 11 * 1440
  chartObj.Aspect.View3D = False
  chartObj.Legend.Visible = False
  chartObj.Header.Visible = False
  
  Dim a As Integer
  a = chartObj.Series(0).Clicked(10, 10)
  
  With chartObj.Export.asPDF
    .Height = 612
    .Width = 792
    .SaveToFile "c:\test.pdf"
  End With
  
  With chartObj.Export.asJPEG
    .Height = 600
    .Width = 800
    .SaveToFile "c:\test.jpg"
  End With
End Sub
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

ESRI
Newbie
Newbie
Posts: 60
Joined: Wed Mar 09, 2005 5:00 am

Does TeeChart 7 control need to be attached to a window?

Post by ESRI » Tue Oct 04, 2005 11:31 pm

narcis,

I posted the .net solution on steema.public.attachments subj: Does TeeChart 7 control need to be attached to a window?

It shows that unless we export chart somewhere (another solution to atach it to a window) canvas size is 1x1 and Clicked() returns -1; We also have similar problem with TChart::Draw function.

Christopher
Site Admin
Site Admin
Posts: 1349
Joined: Thu Jan 01, 1970 12:00 am
Location: Riudellots de la Selva, Catalonia
Contact:

Post by Christopher » Thu Oct 06, 2005 10:22 am

Hi Alex,

Try calling InternalRepaint having added your data into the Series, e.g.

Code: Select all

int v = pSeries.Add(41, null, 0);
v = pSeries.Add(52, null, 0);  
 
pChart.Environment.InternalRepaint();
Thank you!

Christopher Ireland (Steema crew)
Please be aware of the newsgroup archives:
http://www.teechart.net/support/search.php
http://groups.google.com
http://codenewsfast.com/

ESRI
Newbie
Newbie
Posts: 60
Joined: Wed Mar 09, 2005 5:00 am

Post by ESRI » Fri Oct 07, 2005 10:44 pm

It works! :D
Thanks a lot!

Post Reply