图片拖动问题(50分)

  • 主题发起人 主题发起人 yb_1014
  • 开始时间 开始时间
Y

yb_1014

Unregistered / Unconfirmed
GUEST, unregistred user!
我在image里放置了一个图片,在运行过程中我想用鼠标点击后拖动到窗体的任意位置,要求不出现闪烁。以前的button,panale有API函数可以实现这样的拖动,但我在Image里使用不行,请各位高手指教
 
你是要拖动IMAGE还是IMAGE里的某个图形,这可是有很大区别的
拖动IMAGE,只要在MOUSE消息里处理IMAGE的TOP,LEFT值就行了,
但拖动IMAGE内的图片则要麻烦的多了。
 
当然是里面的图
 
将image放在panel上,将问题转换成拖动image吧,既不会有明显的延迟,也不会闪烁。

 
我试过的不行,把image放在panale上就好象盖住了panale,它也就不响应了
 
不要用panel的事件,用image的事件
 
image不响应那个API函数的
 
我记得我在一个贴子中说过方法,但一时找不到了。
大概的方法是,定义图形的数据结构,在MOUSE的DOWN,MOVE,UP事件中去处理图形的拾取,分别处理IMAGE的CANVAS。但这样会闪。我去闪的方法是,用在一个TBITMAP的画,画完后在IMAGE中贴出,就不会有闪动的感觉了。
 
我的图象是加到image里面的,一开始就加进去了,没有影响吗
 
看看下面的:

定义两个全局变量
在OnMouseDOwn事件:
Ylx:=x; //记录鼠标原来的坐标值
Yly:=y;
在OnMouseMove事件:
If ssleft in shift then
begin //按下鼠标左键拖动form1
Form1.left:=Form1.left+x-ylx;
Form1.top:= Form1.top+y-yly;
end;
 
你这个不行的,窗体当然不能移动的
 
呵呵,你是移图片,两个事件是图片的事件,将form1改为image1。
 
后退
顶部