我目前正在使用C++生成器 6 XE4 来开发财务图表.移动到图表画布上的某个位置时出现异常



在使用C++生成器 6 XE4 创建财务图表时,我正在尝试创建绘制线条特征。我创建的系列是蜡烛棒系列。我尝试按照鼠标指针指出的移动到 XY 坐标,但每当点击以下代码段时,它都会引发异常。

Chart1->Canvas->

MoveTo(10,20); -->给出了一些有效的值。

是否可以在图表上(而不是在表格上)绘制线条或任何数字?如果是,请您告诉我,应该怎么做。

谢谢。

是的,TeeChart Pro VCL/FMX 包含用于此目的的 DrawLine 工具 (TDrawLineTool)。使用随 Builder XE4 附带C++ TeeChart 版本,您可以在图表画布上手动绘制线条,执行类似于以下代码示例的操作。

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "VCLTee.CandleCh"
#pragma link "VCLTee.OHLChart"
#pragma resource "*.dfm"
TForm2 *Form2;
int X0,Y0;
int X1,Y1;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
    X0=-1;
    Y0=-1;
    X1=-1;
    Y1=-1;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Chart1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
          int X, int Y)
{
    if ((X0==-1) || (Y0==-1)) {
        X0=X;
        Y0=Y;
    }
    else {
        X1=X;
        Y1=Y;
        Chart1->Draw();
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Chart1AfterDraw(TObject *Sender)
{
    if ((X1!=-1) && (Y1!=-1)) {
        Chart1->Canvas->Line(X0,Y0,X1,Y1);
        X0=-1;
        Y0=-1;
        X1=-1;
        Y1=-1;
    }
}
//---------------------------------------------------------------------------

相关内容

  • 没有找到相关文章

最新更新