|
鼠标左键按下可拖动波形,鼠标滚轮可以放缩波形。无需代码,参数设置如下:
下面是代码实现鼠标点击为中心放大(未成功)
鼠标点击时的xy坐标可以找到,关键的问题在于:怎样重设XY轴的大小可以实现 :
点击TChart图中的某一点,图以该点为中心放大(即放大前鼠标所在点在放大后位置不变)
double tmpX, tmpY;
double IncreasePercent = 0.5;
void __fastcall TForm1::Chart1Click(TObject *Sender)
{
if (tmpX > 0 & tmpY > 0)
{
double OldXMin = Chart1->BottomAxis->Minimum;
double OldXMax = Chart1->BottomAxis->Maximum;
double NewXMin = (tmpX * IncreasePercent + OldXMin) / (1 + IncreasePercent);
double NewXMax = (tmpX * IncreasePercent + OldXMax) / (1 + IncreasePercent);
Chart1->BottomAxis->SetMinMax(NewXMin, NewXMax);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Chart1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
Series1->GetCursorValues(tmpX,tmpY); // <-- get values under mouse cursor
}
//---------------------------------------------------------------------------
以上是我具体实现的代码,这里只是实现X轴的ZoomIn(比例为150%),Y轴的同理, |
|