1,控件 可移动(如BUTTON在EXE 可以自由移动),这个找到方法了;
2,页面比如划分成均分成左右两边,怎样做到移动左边的一个控件  自动 与 靠近右边框,也就是说 移动到 指定位置?

解决方案 »

  1.   

    词不达意!是否想用 TSplitter ?
      

  2.   

    。。不是分割线 这样的。
    控件在 EXE中 移动  就像设计期 那样。
    现在问题是 自动移动到某个区域。
    就比如 QQ斗地主中,我把我手中的牌 右击 就 自动跑到 游戏屏幕正中间,而不是别的地方
      

  3.   


    嗯 是一个思路。
    但是我目前的需求有点不同。
    FORM上有多个区域(目前假定 区域数 是固定的),需要有的控件左移,有的右移,有的上移,有的下移。
    问题分解成:
    1,如何判断控件移动的方向;
    2,如何判断控件移出了某个容器到达另一个容器(比如说PANEL1,PANEL2,PANLE1里有个BUTTON1,把BUTTON1移动到PANEL12的边界的时候即发出消息之类的信息,这个信息如何发出,如何获得)
      

  4.   

    如果在同一容器内移动,那简单;只要用到MouseDown,MouseMove,MouseUp等事件,计算他们的坐标差后设置Top,Left就可以了若不同容器要用到Drag相关事件
      

  5.   

    FORM  里 设定  多个区域,我是想把他分成多个容器来处理(即一个区域对应一个容器)。求思路
      

  6.   

    设置一个数组,它为记录(Record,有人叫它为结构)类型,用来关联每个图片(如扑克),记录中的成员有:目前的位置、可移动的方向、是否已经发牌、是否已经出牌等等。
    如果不怕烦,可以弄多个线程来专门侍候图片移动效果,当要移动时启动线程,并将移动方向、位置传递给线程,线程当图片移动到位时向窗体发送消息并将自己挂起、等待下一次启动。窗体收到消息时,设置相应的记录,并指示玩家下一个动作的提示。
      

  7.   

    FORM 里 设定 多个区域,我是想把他分成多个容器来处理(即一个区域对应一个容器)。其实多个区域也是多个容器。一个容器里面放空间的话这个控件不可能移到另一个容器里面。
    所以只要控件的MouseDown,MouseMove,MouseUp等事件里面得到坐标(Top,Left)后再把坐标设置就可以了。
    有需要的话坐标保存后下次再打开程序时读入也可以。