在panel中绘制小型的图标,比如一个32×24的位图,图片有自己的鼠标up、down、move事件,可以用鼠标拖动,现在的问题是:panel中绘制有多个这样的图标,这些图片大小,形状相同,当拖动其中一个移动时不小心正好移到了另一个图标的正上方,这时候两个图标完全重合(也会出现多个图标重合的情况),怎么也分不开了!
我实现图片移动的原理是:1、鼠标点击图片时记录鼠标的初始位置。
                        2、鼠标移动时,记录鼠标的位置,计算与初始位置的差值,触发panel的OnPaint事件,移动图片。那位高手帮帮忙原帖位置:http://community.csdn.net/Expert/topic/5293/5293075.xml?temp=.639187分在那里。

解决方案 »

  1.   

    绝望了,真的没人会么?分在以下的帖子里.
    原帖位置:http://community.csdn.net/Expert/topic/5293/5293075.xml?temp=.9447595
      

  2.   

    原帖太长,懒得看,我也不在乎分数.不过我觉得你处理OnPaint事件有点不妥.你应该处理图片本身的MouseDown和MouseMove,MouseUp事件.
    在mousedown事件中将标识符置为1.
    MouseMove事件检查标识符是否为1,为1则获取当前鼠标位置,以此调整图片位置.
    在MouseUp事件中将标志符置为0.需要注意处理闪烁问题,性能问题.