我的 image上面有其它的image.
当最下面那个image1被鼠标拖动时,它上面的image2,image3也能跟着移动。
好象这样子可以实现:image2.parent:=image1;(语法错)
            image1 as twincontrol;(还是语法错)
将image1设成其它组件的父组件,其它image应可以实现跟着被拖动。
但有个缺点,被上面的image挡住了,鼠标点不到下面那个image.
这种方法可行吗?
有更好的方法吗?

解决方案 »

  1.   

    一个很简陋的方法:
    把他们都放到一个PANEL上去。堆叠着放在一起也就是说。这写IMAGE的PARENT都是PANEL1;在PANEL1的OnMouseDown事件中移动PANEL1。如果 你让全部的IMAGE都ALCLIENT占满
    PANEL1。把PANEL1完全挡住的话。看起来PANEL就不存在。
    PANEL1的OnMouseDown事件代码:
    begin
      if Button=mbLeft 
       begin
         ReleaseCapture;
         Panel1.Perform(WM_SYSCOMMAND,$f012,0);
       end;
    end;
    之后,把全部要PANEL上的IMAGE的ONmOSUEdOWN事件全部影射到这个Panel的OnMouseDown 就OK
      

  2.   

    不能直接指定它的父组件为最下面的image吗?
      

  3.   

    TImaage  来自TGraphicControl,不能做容器。他没有HANDLE;