TAChart: Use TDataPointCrosshairTool in tools demo

git-svn-id: trunk@31973 -
This commit is contained in:
ask 2011-08-13 09:31:53 +00:00
parent 6980c29514
commit 3338aa1034
3 changed files with 46 additions and 28 deletions

View File

@ -15,19 +15,21 @@ object Form1: TForm1
Width = 554
AxisList = <
item
Minors = <>
Title.LabelFont.Orientation = 900
end
item
Alignment = calBottom
Minors = <>
end>
Extent.XMin = -3
Extent.YMin = -2
Extent.XMax = 3
Extent.YMax = 2
Extent.UseXMin = True
Extent.UseYMin = True
Extent.UseXMax = True
Extent.UseXMin = True
Extent.UseYMax = True
Extent.UseYMin = True
Extent.XMax = 3
Extent.XMin = -3
Extent.YMax = 2
Extent.YMin = -2
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
ReticuleMode = rmCross
@ -189,11 +191,6 @@ object Form1: TForm1
ActiveCursor = crSizeNS
Directions = [pdUp, pdDown]
end
object ChartToolset1ReticuleTool1: TReticuleTool
Shift = [ssCtrl]
OnAfterKeyUp = ChartToolset1ReticuleTool1AfterKeyUp
OnAfterMouseMove = ChartToolset1ReticuleTool1AfterMouseMove
end
object ChartToolset1DataPointDragTool1: TDataPointDragTool
Shift = [ssAlt, ssLeft]
OnBeforeMouseMove = ChartToolset1DataPointDragTool1BeforeMouseMove
@ -207,6 +204,13 @@ object Form1: TForm1
Margins.Right = 30
Margins.Bottom = 30
end
object ChartToolset1DataPointCrosshairTool1: TDataPointCrosshairTool
Shift = [ssCtrl]
OnAfterKeyUp = ChartToolset1DataPointCrosshairTool1AfterKeyUp
OnAfterMouseMove = ChartToolset1DataPointCrosshairTool1AfterMouseMove
GrabRadius = 200
OnDraw = ChartToolset1DataPointCrosshairTool1Draw
end
end
object RandomChartSource1: TRandomChartSource
PointsNumber = 10

View File

@ -19,12 +19,12 @@ type
ChartLine1: TConstantLine;
Chart1FuncSeries1: TFuncSeries;
ChartToolset1: TChartToolset;
ChartToolset1DataPointCrosshairTool1: TDataPointCrosshairTool;
ChartToolset1DataPointDragTool1: TDataPointDragTool;
ChartToolset1PanAny: TPanDragTool;
ChartToolset1PanClickTool1: TPanClickTool;
ChartToolset1PanHor: TPanDragTool;
ChartToolset1PanVert: TPanDragTool;
ChartToolset1ReticuleTool1: TReticuleTool;
ChartToolset1ZoomDragTool1: TZoomDragTool;
ChartToolset1ZoomOut: TZoomClickTool;
ChartToolset1ZoomIn: TZoomClickTool;
@ -38,12 +38,14 @@ type
procedure cbAnimateClick(Sender: TObject);
procedure cbFixedPointChange(Sender: TObject);
procedure Chart1FuncSeries1Calculate(const AX: Double; out AY: Double);
procedure ChartToolset1DataPointCrosshairTool1AfterKeyUp(ATool: TChartTool;
APoint: TPoint);
procedure ChartToolset1DataPointCrosshairTool1AfterMouseMove(
ATool: TChartTool; APoint: TPoint);
procedure ChartToolset1DataPointCrosshairTool1Draw(
ASender: TDataPointCrosshairTool);
procedure ChartToolset1DataPointDragTool1BeforeMouseMove(ATool: TChartTool;
APoint: TPoint);
procedure ChartToolset1ReticuleTool1AfterKeyUp(ATool: TChartTool;
APoint: TPoint);
procedure ChartToolset1ReticuleTool1AfterMouseMove(ATool: TChartTool;
APoint: TPoint);
procedure rgPanClick(Sender: TObject);
procedure rgZoomClick(Sender: TObject);
end;
@ -81,6 +83,27 @@ begin
AY := Sin(AX * 10) + 0.7 * Cos(AX * 30) + 0.3 * Sin(AX * 80);
end;
procedure TForm1.ChartToolset1DataPointCrosshairTool1AfterKeyUp(
ATool: TChartTool; APoint: TPoint);
begin
ChartToolset1DataPointCrosshairTool1.Hide;
end;
procedure TForm1.ChartToolset1DataPointCrosshairTool1AfterMouseMove(
ATool: TChartTool; APoint: TPoint);
begin
Chart1.SetFocus;
end;
procedure TForm1.ChartToolset1DataPointCrosshairTool1Draw(
ASender: TDataPointCrosshairTool);
const
R = 20;
begin
with Chart1.GraphToImage(ASender.Position) do
Chart1.Drawer.Ellipse(X - R, Y - R, X + R, Y + R);
end;
procedure TForm1.ChartToolset1DataPointDragTool1BeforeMouseMove(
ATool: TChartTool; APoint: TPoint);
const
@ -97,18 +120,6 @@ begin
end;
end;
procedure TForm1.ChartToolset1ReticuleTool1AfterKeyUp(
ATool: TChartTool; APoint: TPoint);
begin
Chart1.ReticulePos := Point(-1, -1);
end;
procedure TForm1.ChartToolset1ReticuleTool1AfterMouseMove(ATool: TChartTool;
APoint: TPoint);
begin
Chart1.SetFocus;
end;
procedure TForm1.rgPanClick(Sender: TObject);
var
i: Integer;

View File

@ -71,6 +71,9 @@
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>