How to to show marks on mouse over

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
Gilbert
Newbie
Newbie
Posts: 14
Joined: Thu Jul 10, 2003 4:00 am
Location: Johannesburg

How to to show marks on mouse over

Post by Gilbert » Thu Aug 19, 2004 2:33 pm

Howzit,
Is it possible to show the mark of a point on a series (Point series) only when the mouse pointer hovers over that point? Alternatively, a hint showing the text in the mark would be sufficient.
Gilbert

Marjan
Site Admin
Site Admin
Posts: 745
Joined: Fri Nov 07, 2003 5:00 am
Location: Slovenia
Contact:

Post by Marjan » Thu Aug 19, 2004 4:01 pm

Hi.

Yes, there are several ways to do this. The easiest is to use TMarksTipTool, which does exactly what you need. There are couple of examples demonstrating this tool available in Teechart demo. Especially, check all nodes under the "All features -> Tools -> Mark tips" folder.
Marjan Slatinek,
http://www.steema.com

Andrew S
Newbie
Newbie
Posts: 42
Joined: Wed Jul 28, 2004 4:00 am

Post by Andrew S » Tue Aug 24, 2004 8:52 pm

This may be a stupid question, but where do I find the TMarksTipTool? It's not listed in the TeeChart section of the component tab list. I have installed TeeChart v7, and I'm using Delphi 5. I checked in the Teechart 7 Examples folder, but wasn't able to find anything that helped. It also doesn't seem to be mentioned in the teechart7.hlp file.

Thanks in advance,

Andrew

Andrew S
Newbie
Newbie
Posts: 42
Joined: Wed Jul 28, 2004 4:00 am

Post by Andrew S » Wed Aug 25, 2004 1:47 am

Looks like I spoke too soon. I found the tools tab in the chart editor. Unfortunatly, since I have so many points, with so little space between, it's difficult to tell exactly which point the tooltip refers to.

I'm wondering how difficult it would be to have it so when you left click on the chart, a vertical line across the whole chart denotes which point you've selected, and a display of the x and y values for that point appears.

I also have another problem. How do I stop the grid lines from the left axis from being drawn over top of my legend? I don't suppose there's some sort of chart1.LeftAxis.Grid.SendToBack function or something is there?

Lastly, my bottom axis is a datetime axis, with data for each second. I have my labels at the min and max of the axis displaying hh:nn:ss. I want to have the vertical gridlines in my chart denote the start of each day. How would I do that? I can't seem to figure out how to draw grid lines at differing intervals from the labels. I was thinking of just creating a series per day, but don't like that solution, as I have no way of knowing how many days we're talking about.

You help is greatly appreciated,

Andrew

Pep
Site Admin
Site Admin
Posts: 3303
Joined: Fri Nov 14, 2003 5:00 am
Contact:

Post by Pep » Thu Sep 02, 2004 5:19 pm

Hi Andrew,
I'm wondering how difficult it would be to have it so when you left click on the chart, a vertical line across the whole chart denotes which point you've selected, and a display of the x and y values for that point appears.
Have you tried to use a Cursor Tool setting the Snap and FollowMouse properties to true ?
I also have another problem. How do I stop the grid lines from the left axis from being drawn over top of my legend? I don't suppose there's some sort of chart1.LeftAxis.Grid.SendToBack function or something is there?
You can do :
Chart1.AxisBehind := True;
Lastly, my bottom axis is a datetime axis, with data for each second. I have my labels at the min and max of the axis displaying hh:nn:ss. I want to have the vertical gridlines in my chart denote the start of each day. How would I do that? I can't seem to figure out how to draw grid lines at differing intervals from the labels. I was thinking of just creating a series per day, but don't like that solution, as I have no way of knowing how many days we're talking about.
The best way around this could be using the Canvas techniques (see help and Tutorials for details) and the CalcXPoxValue method to draw a line over the Chart. You'll have to do this in the OnAfterDraw event.

Post Reply