gpt4 book ai didi

c++ - 我目前正在使用 C++ builder 6 XE4 开发财务图表。移动到图表 Canvas 上的某个位置时出现异常

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:09 25 4
gpt4 key购买 nike

在使用 C++ builder 6 XE4 创建财务图表时,我试图创建、绘制线条特征。我创建的系列是蜡烛棒系列。我试图移动到鼠标指针所指的 XY 坐标,但每当点击下面的代码时,它就会抛出异常。

Chart1->Canvas->MoveTo(10,20); --> 已经给出了一些有效值。

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

谢谢。

最佳答案

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

//---------------------------------------------------------------------------

#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;
}
}
//---------------------------------------------------------------------------

关于c++ - 我目前正在使用 C++ builder 6 XE4 开发财务图表。移动到图表 Canvas 上的某个位置时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19976655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com