首先我已经实现了: 当托拽一个按钮的时候它随时都跟着鼠标动。
大概思路是 让这个按钮响应dragover事件,sender和source都是他自己了当然。
然后在该事件中设置按钮的位置和鼠标位置同步就ok了。一个缺点是用力过大的托拽会使按钮跟不上鼠标,这时可以让按钮所在的panel也响应dragover事件,同样设置按钮和鼠标同步就好了。难题是这样的:我的panel里实际上有多个按钮,它们之间都有连线的。这些线存放在一个数组里面。在form1(默认主窗口)的onpaint事件中绘制这些线。同时,当我拖拽按钮的时候,让这些线跟着更新。也就是在上面方法中的dragover事件中调用重绘的方法。
重绘是成功了,但是画面上会留下很多痕迹。
问题就是:我该调用哪个重绘方法呢?repaint,invalidate,update,refresh统统都试过了。望高手指点!!!
大概思路是 让这个按钮响应dragover事件,sender和source都是他自己了当然。
然后在该事件中设置按钮的位置和鼠标位置同步就ok了。一个缺点是用力过大的托拽会使按钮跟不上鼠标,这时可以让按钮所在的panel也响应dragover事件,同样设置按钮和鼠标同步就好了。难题是这样的:我的panel里实际上有多个按钮,它们之间都有连线的。这些线存放在一个数组里面。在form1(默认主窗口)的onpaint事件中绘制这些线。同时,当我拖拽按钮的时候,让这些线跟着更新。也就是在上面方法中的dragover事件中调用重绘的方法。
重绘是成功了,但是画面上会留下很多痕迹。
问题就是:我该调用哪个重绘方法呢?repaint,invalidate,update,refresh统统都试过了。望高手指点!!!
解决方案 »
- 建行已成功在你帐上刷出1200元年度卡费,客服:0311-80974623
- 【分享】D2010 自带的代码格式化
- 故我看下我数据库连接代码哪错了
- 求delphi源码网站.
- 准备辞职,想问一下上海好不好发展
- 如何能让程序不在任务栏显示,并且在任务管理器的进程列表也不显示
- 自己的论坛谢谢大家捧场
- Delphi里如何才能建立Web站点,如何才能以 regsvr32.exe 注册COM组件而不出现提示
- 谁能帮我在下面例句里做注释?
- 我需要给一个字段一次加入许多条纪录,我该用什么控件,是DBComboBox吗?
- 在IE浏览器打开网页的时候如何得到该网页的源代码,并且修改源代码,修改完后使IE继续加载修改后的源代码,打开修改后的网页
- Access用语句创建表,如何同时创建字段说明
还有高手吗?