H
hehaidaxue
Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位:下面是我在屏幕上的某一坐标范围类画的一些点
ADODS_TrendGraph.First;
X := (Img_TrendGraph.Width - 5 * 120) div 2 + 1;//46
while not ADODS_TrendGraph.Eof do
begin
DataValue := ADODS_TrendGraph['xl'];
Y := (Img_TrendGraph.Height - 30) - DataValue;//290-数据值
Img_TrendGraph.Canvas.Pixels[X, Y] := clWhite;
Img_TrendGraph.Canvas.Pixels[X + 1, Y] := clWhite;
Img_TrendGraph.Canvas.Pixels[X + 2, Y] := clWhite;
X := X + 5;
ADODS_TrendGraph.Next;
end;
我在下一次再画新的点的时候应该抹除上一个,于是我用了下面的语句:
Img_TrendGraph.Canvas.Brush.Style := bsClear;
Img_TrendGraph.Canvas.Brush.Style := bsSolid;
Img_TrendGraph.Canvas.Brush.Color := clblack;
Img_TrendGraph.Canvas.Rectangle(46, 20, 645, 290);//坐标范围
但是这样的效果不是很好,请教各位有没有更好的办法,谢谢。
说简单一些:在屏幕上的某一个坐标内画上一些离散的点,在发生某一事件的时候,清除现有坐标内的点,然后把新的点画上去。
ADODS_TrendGraph.First;
X := (Img_TrendGraph.Width - 5 * 120) div 2 + 1;//46
while not ADODS_TrendGraph.Eof do
begin
DataValue := ADODS_TrendGraph['xl'];
Y := (Img_TrendGraph.Height - 30) - DataValue;//290-数据值
Img_TrendGraph.Canvas.Pixels[X, Y] := clWhite;
Img_TrendGraph.Canvas.Pixels[X + 1, Y] := clWhite;
Img_TrendGraph.Canvas.Pixels[X + 2, Y] := clWhite;
X := X + 5;
ADODS_TrendGraph.Next;
end;
我在下一次再画新的点的时候应该抹除上一个,于是我用了下面的语句:
Img_TrendGraph.Canvas.Brush.Style := bsClear;
Img_TrendGraph.Canvas.Brush.Style := bsSolid;
Img_TrendGraph.Canvas.Brush.Color := clblack;
Img_TrendGraph.Canvas.Rectangle(46, 20, 645, 290);//坐标范围
但是这样的效果不是很好,请教各位有没有更好的办法,谢谢。
说简单一些:在屏幕上的某一个坐标内画上一些离散的点,在发生某一事件的时候,清除现有坐标内的点,然后把新的点画上去。