Tdbchart问题(50分)

  • 主题发起人 主题发起人 蓝潭星跃
  • 开始时间 开始时间

蓝潭星跃

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用dbchart显示曲线,现在我想要在显示曲线后,当鼠标悬停在曲线上的数据点上时,
给出提示信息,该怎么做?
如果有程序代码最好了!!!
 
我也很想知道
 
procedure TStockForm.Chart1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
tmpX,tmpY:Double;
begin
if (OldX<>-1) then
begin
DrawCross(OldX,OldY); {画小十字鼠标}
OldX:=-1;
end;
{检查鼠标是否在图表区}
if PtInRect( Chart1.ChartRect, Point(X-Chart1.Width3D,Y+Chart1.Height3D)) then
begin
DrawCross(x,y); {在当前位置画十字准线}
OldX:=x; {保存旧位置}
OldY:=y;
With Series1 do {设置标签文本}
begin
GetCursorValues(tmpX,tmpY); {获取鼠标位置数据}
Label1.Caption:=GetVertAxis.LabelValue(tmpY)+' '+
GetHorizAxis.LabelValue(tmpX);
end;
end;
end;
 
真的没有人做过这样的东东?
 
555555555555
怎么没人帮帮呀
 
你用猫上网??[:)]
 
如果你是想要以注释的方式来显示的话,请参照下面程序。
procedure TfmOTDRData.ChartOTDRMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var tx,ty,px,py : Double ;
i : integer ;
begin
if Assigned(Series1) then begin
i := Series1.GetCursorValueIndex ; //获取点序号
if i >= 0 then begin
px := Series1.XValues; //获取X,Y值
py := Series1.YValue;
Series1.GetCursorValues(tx,ty); //获取鼠标位置
if (abs(tx-px)<=4)and (abs(ty-py)<=4)then begin //判断是否在点的位置
ChartOTDR.Hint := 'tx:'+FloatToStr(px)+',ty:'+FloatToStr(py); //产生注释信息
ChartOTDR.ShowHint := true ;
Application.ActivateHint(Point(X,Y));
end else ChartOTDR.ShowHint := false ; //不在点位时不显示注释
end;
end;
end;
 
接受答案了.
 
后退
顶部