作成日: 2020/08/25 最終更新日: 2020/08/25
文書種別
使用方法
詳細
本コンポーネントには、マウスで選択した領域を拡大表示(ズーム)するための機能は備わっておりません。
代替策として、MouseDownおよびMouseUpイベントで、選択した領域の開始点/終了点を取得し、この値をもとに、AxisXのMin/Max、およびAxisYのMin/Maxを調整して拡大表示させる方法が考えられます。
◎サンプルコード(C#のみ、抜粋)
詳細な実装コードは、製品付属の「FlexChartExplorer」サンプルの「ズーム」で紹介していますので、ご参照ください。
◆製品収録サンプル(C#のみ)
C:¥Users¥<アカウント名>¥Documents¥ComponentOne Samples¥WinForms¥C1FlexChart¥CS¥FlexChartExplorer
代替策として、MouseDownおよびMouseUpイベントで、選択した領域の開始点/終了点を取得し、この値をもとに、AxisXのMin/Max、およびAxisYのMin/Maxを調整して拡大表示させる方法が考えられます。
◎サンプルコード(C#のみ、抜粋)
private void PerformZoom(Point ptStart, Point ptLast)
{
// Convert points to data coordinates
var p1 = flexChart1.PointToData(ptStart);
var p2 = flexChart1.PointToData(ptLast);
flexChart1.BeginUpdate();
// Update axes with new limits
flexChart1.AxisX.Min = Math.Min(p1.X, p2.X);
flexChart1.AxisY.Min = Math.Min(p1.Y, p2.Y);
flexChart1.AxisX.Max = Math.Max(p1.X, p2.X);
flexChart1.AxisY.Max = Math.Max(p1.Y, p2.Y);
flexChart1.EndUpdate();
}
public void ChartMouseDown(Object sender, MouseEventArgs e)
{
// Start zooming
zooming = true;
// Save starting point of selection rectangle
ptStart.X = e.X;
ptStart.Y = e.Y;
ptLast = Point.Empty;
}
public void ChartMouseUp(Object sender, MouseEventArgs e)
{
// End zooming
zooming = false;
// Redraw frame to restore screen
if (!ptLast.IsEmpty)
{
Point ptCurrent = new Point(e.X, e.Y);
DrawReversibleRectangle(ptStart, ptLast);
}
PerformZoom(ptStart, ptLast);
// Clean up
ptStart = ptLast = Point.Empty;
}
詳細な実装コードは、製品付属の「FlexChartExplorer」サンプルの「ズーム」で紹介していますので、ご参照ください。
◆製品収録サンプル(C#のみ)
C:¥Users¥<アカウント名>¥Documents¥ComponentOne Samples¥WinForms¥C1FlexChart¥CS¥FlexChartExplorer
関連情報
旧文書番号
85927