bcb的Canvas控件中怎样在第二次画曲线时自动删除第一次画的曲线呢??
我的部分程序如下:
//-----------------补偿回路报警A相电流值波形图---------------
this->Image2->Canvas->MoveTo(0, Image2->Height);
Image2->Canvas->FillRect(ClientRect);//这句语句我本想用它来删除前一次的曲线的,但没有成功以前的曲线同时在Image2上出现。
for(int i = 0; i < listA->Count; i++)
{
//Form5->Image2->Canvas->MoveTo(0, 0);
this->Image2->Canvas->LineTo(x, Image2->Height - StrToFloat(listA->Strings[i]) );
//x += 20;
x +=Image1->Width/listA->Count;
我新建一个bcb在上面放一个image1控件和一个button1代码改了一下, 这句Image2->Canvas->FillRect(ClientRect);照样用,但结果却大大不同。新开的可以删除前一次的曲线,修改后的代码是:
this->Image1->Canvas->MoveTo(0, Image1->Height);
int x = 20;
Image1->Canvas->FillRect(ClientRect);
for(int j = 0; j< 20; j++)
{
this->Image1->Canvas->LineTo(x, Image1->Height - random (10) * j);
x += 20;
求求各位大侠帮帮忙吧!!
}
[解决办法]
同样的线条以异或的方式重画一次就清除了。
[解决办法]
1)记住上次画线路经,再画一条颜色和背景一样就等于删除了
2)填充这个区域也行
[解决办法]