1:怎样可以画一条直线很长的,两头连两个控件。我放在ScrollBox中,控件可以看到但直线过长的部分看不到。怎样可以让整条直线都看到。
2:就是按下button就把直线删除。
最好有简单的程序说明

解决方案 »

  1.   

    1.你要做什么看不懂
    2.可以用shape控件动态生成。控制其LEFT 及TOP属性[比自己canvas要好控制些]
    3.看不到头?能看到啊!!!难道是达不到你的要求?
    可以动态再放一个比它还长的shape,呵呵。当然颜色要设置的与parent颜色一样。
      

  2.   

    4.删除可以 再button的onclick事件写......shape1.free;
    ----------------------------------------------------补上
      

  3.   

    Canvas.LineTo();
    Canvas.MoveTo();
    Canvas.Clear;
      

  4.   

    1.对ScrollBox的画布进行操作
    2.使ScrollBox无效(重绘)
      

  5.   

    使用TCanvas.moveto()和TCanvas.lineto()想画到哪不就画到哪吗?
    按下button就把直线删除使用image1.canvas.brush.bitmap:=nil;即可。
      

  6.   

    1 在ScrollBox滚动时重画直线2 用背景色重画直线
      

  7.   

    (发问者)大家注意:
       我也知道用canvas画什么都可以阿,但是你切换一下画面,就什么都没有了。
    怎么保存位图和用什么方法让画面怎么切换都不会变呢?
    或者用另外一种方法画直线也可以阿。
      

  8.   

    TO: wisenowa
    要那么麻烦重画直线吗?
    有简单一点的方法吗?
      

  9.   

    1.如果用canvas画直线,必须记录线的起始位置,在paint中重画。
    可行的方式:建立坐标点数组,记录线的坐标点,建立一条线就记录一条,然后在paint事件中遍历数组,画线。
    这样画线,速度比较快。
    2.如果用控件,建议不要用shape控件,最直接的原因--不能画斜线。建议自己写一个控件。