请大家发言,好吗?马上就上分!

解决方案 »

  1.   

    我认为用paintbox自己画比较好!建议从图形类继承一个新的组件。比如你的背景图为一把尺子,假设在bmpRuler(Tbitmap)中存储!你的可移动的小块存储在bmpMoveBlock(Tbitmap)中。如果要水平移动就可以这样画!
    var //全局变量
      pOld:Tpoint;
      pNew:Tpoint;在mousedown中
      pold.x:=x; pold.y:=y;
    在mouseMove中
      if ssleft in button begin
         //画背景
         bitblt(pBox.canvas.handle,
                0,0,100,20,bmpRuler.canvas.handle,0,0,srccopy);
         //画透明标块
         Transparentblt(pBox.canvas.handle,x,0,20,20,
                bmpMoveBlock.canvas.handle,0,0,20,20,clwhite);
         
      end;
      

  2.   

    随手写的,请见谅!不够完整!