如何实现摁住鼠标左键可拖动图象? 急
怎么实现摁住鼠标左键可拖动图象? 急急急。。。。
大家好,最近想给先有的程序添加一个功能:实现摁住鼠标左键可拖动图象,我以前没有做过怎么实现,自己考虑用下列方法实现:
响应LButtonDown()事件,判断当前指针位置,然后判断移动后的指针位置,并把图象移动到移动后的位置,但不知道在哪个事件里实现鼠标移动事件的探听,请高手给指导,谢谢
如果有更好的方法,请给指明,多谢
------解决方案--------------------
在OnMouseMove()事件里实现鼠标移动事件的探听
------解决方案--------------------
LButtonDown() 将一成员变量赋真
LUpDown() 将该成员变量赋假
OnMouseMove() 里 如果 该成员变量为真 就处理..
------解决方案--------------------
1) LButtonDown() 将一成员变量赋真
LUpDown() 将该成员变量赋假
OnMouseMove()
{
//移动接收图片的矩形框的位置,也就是需要重新绘制这个矩形框。
//把图片重新加载近来
}
------解决方案--------------------
OnMouseMove中
------解决方案--------------------
可以考虑自己封装一个图片容器框,(比如继承自CStatic),加载图片在里面
然后响应OnMouseMove ,用MoveWindow移动图片框,图片框里面再重回图片,即可
------解决方案--------------------
主要在三个事件当中完成:LButtonDown(),OnMouseMove(),LButtonUp().
用一个Bool型变量表示当前鼠标是否按下,在LButtonDown()中给他赋值true,在LButtonUp()中赋值为false.主要是处理OnMouseMove().
在移动图像时,还需要处理的问题是图像如何根据鼠标的拖动而移动。当开始拖动时,确定鼠标开始拖动的起点,同时获取图像在窗口中的显示区域及图像在窗口中左上角的坐标。在鼠标拖拽过程中,首先根据鼠标当前的位置和鼠标拖动起点的偏移量,然后根据偏移量和图像在窗口中的显示区域确定图像新的显示区域。
------解决方案--------------------
我觉得在LButtonUp()中处理会更好一些,Move中处理的话太慢,在MOVE中只需将鼠标图片换成微软的那种指示正在拖动的图片提示用户就好了。
大家好,最近想给先有的程序添加一个功能:实现摁住鼠标左键可拖动图象,我以前没有做过怎么实现,自己考虑用下列方法实现:
响应LButtonDown()事件,判断当前指针位置,然后判断移动后的指针位置,并把图象移动到移动后的位置,但不知道在哪个事件里实现鼠标移动事件的探听,请高手给指导,谢谢
如果有更好的方法,请给指明,多谢
------解决方案--------------------
在OnMouseMove()事件里实现鼠标移动事件的探听
------解决方案--------------------
LButtonDown() 将一成员变量赋真
LUpDown() 将该成员变量赋假
OnMouseMove() 里 如果 该成员变量为真 就处理..
------解决方案--------------------
1) LButtonDown() 将一成员变量赋真
LUpDown() 将该成员变量赋假
OnMouseMove()
{
//移动接收图片的矩形框的位置,也就是需要重新绘制这个矩形框。
//把图片重新加载近来
}
------解决方案--------------------
OnMouseMove中
------解决方案--------------------
可以考虑自己封装一个图片容器框,(比如继承自CStatic),加载图片在里面
然后响应OnMouseMove ,用MoveWindow移动图片框,图片框里面再重回图片,即可
------解决方案--------------------
主要在三个事件当中完成:LButtonDown(),OnMouseMove(),LButtonUp().
用一个Bool型变量表示当前鼠标是否按下,在LButtonDown()中给他赋值true,在LButtonUp()中赋值为false.主要是处理OnMouseMove().
在移动图像时,还需要处理的问题是图像如何根据鼠标的拖动而移动。当开始拖动时,确定鼠标开始拖动的起点,同时获取图像在窗口中的显示区域及图像在窗口中左上角的坐标。在鼠标拖拽过程中,首先根据鼠标当前的位置和鼠标拖动起点的偏移量,然后根据偏移量和图像在窗口中的显示区域确定图像新的显示区域。
------解决方案--------------------
我觉得在LButtonUp()中处理会更好一些,Move中处理的话太慢,在MOVE中只需将鼠标图片换成微软的那种指示正在拖动的图片提示用户就好了。