Y yb_1014 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #1 我在image里放置了一个图片,在运行过程中我想用鼠标点击后拖动到窗体的任意位置,要求不出现闪烁。以前的button,panale有API函数可以实现这样的拖动,但我在Image里使用不行,请各位高手指教
我在image里放置了一个图片,在运行过程中我想用鼠标点击后拖动到窗体的任意位置,要求不出现闪烁。以前的button,panale有API函数可以实现这样的拖动,但我在Image里使用不行,请各位高手指教
蒋 蒋劲刚 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #2 你是要拖动IMAGE还是IMAGE里的某个图形,这可是有很大区别的 拖动IMAGE,只要在MOUSE消息里处理IMAGE的TOP,LEFT值就行了, 但拖动IMAGE内的图片则要麻烦的多了。
影 影 子 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #4 将image放在panel上,将问题转换成拖动image吧,既不会有明显的延迟,也不会闪烁。
Y yb_1014 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #5 我试过的不行,把image放在panale上就好象盖住了panale,它也就不响应了
蒋 蒋劲刚 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #8 我记得我在一个贴子中说过方法,但一时找不到了。 大概的方法是,定义图形的数据结构,在MOUSE的DOWN,MOVE,UP事件中去处理图形的拾取,分别处理IMAGE的CANVAS。但这样会闪。我去闪的方法是,用在一个TBITMAP的画,画完后在IMAGE中贴出,就不会有闪动的感觉了。
我记得我在一个贴子中说过方法,但一时找不到了。 大概的方法是,定义图形的数据结构,在MOUSE的DOWN,MOVE,UP事件中去处理图形的拾取,分别处理IMAGE的CANVAS。但这样会闪。我去闪的方法是,用在一个TBITMAP的画,画完后在IMAGE中贴出,就不会有闪动的感觉了。
Y yb_1014 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #9 我的图象是加到image里面的,一开始就加进去了,没有影响吗
影 影 子 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #10 看看下面的: 定义两个全局变量 在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;
看看下面的: 定义两个全局变量 在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;
影 影 子 Unregistered / Unconfirmed GUEST, unregistred user! 2003-07-24 #12 呵呵,你是移图片,两个事件是图片的事件,将form1改为image1。