日期:2014-05-18  浏览次数:20798 次

怎么实现一个控件在窗口上可以拖动?
我使用过一个软件,当按住ctrl件的时候,可以用鼠标拖动窗口上的控件(lable,combox),这是怎么实现的呢?

------解决方案--------------------
可以的呀,按住CTRL的时候,截取鼠标事件,通过鼠标点击位置和控件位置,可以判断出是否选中了控件,选中之后,鼠标移动过程中,修改控件的位置就行了。
------解决方案--------------------
无非就是在鼠标动作中处理,设置标识isdown
OnMouseDown时,isdown=true
OnMouseUp时,isdown=false
OnMouseMove时,判断 if (isdown){根据鼠标当前位置,处理控件的left,top}
------解决方案--------------------
http://blog.csdn.net/wuyazhe/article/details/5806232
用这个方法,继承的父类为Button就可以实现可拖动的Button,其他控件同样。