如下代码:
  Label1.Transparent := False;
  Label1.Canvas.Pen.Color :=clRed;
  Label1.Canvas.MoveTo(0,0);
  Label1.Canvas.MoveTo(30,40);在Form同样就看的见, 这是咋回事

解决方案 »

  1.   

    Label1.Transparent := False;
      Label1.Canvas.Pen.Color :=clRed;
      Label1.Canvas.MoveTo(Label1.Left, Label1.Top);
      Label1.Canvas.MoveTo(Label1.Left + 30, Label1.Top + 40);我只是修正了楼主划线的坐标点,因不知道楼主在什么事件中画,不能保证正确显示线条。看来应该是条红色的斜线。
      

  2.   

    上面我的坐标修正是错误的。我以为楼主用的是Form的Canvas,回复后,才看清楚是Label1.Canvas。对不起,上面作废!
      

  3.   

    begin
      Label1.Transparent := False;
      Label1.Canvas.Pen.Color :=clRed;
      Label1.Canvas.MoveTo(0,0);
      Label1.Canvas.LineTo(30,40); ///////////不是MoveTo() 是LineTo()
    end;
      

  4.   

    需先设置Canvas.penpos属性,即起始点,默认是画笔当前点
    然后用canvas.lineto画线