在form上放一个progressbar控件,要实现在form上或者在progressbar中任意位置按住左键,左右移动鼠标,progressbar的值会跟着变化,松开左键,则不变,怎么做?我只能实现在progressbar中的部分,而在form中按下左键,在移动入progressbar中,mousemove消息就没有了?为什么

解决方案 »

  1.   

    progressbar 先接受鼠标消息然后才将其处理后的消息发送给其parent CONTROL。
    如果你需要将未经过处理的消息传到PARENT里,可以在progressbar派生出一个exprogressbar,然后自己写MOUSEMOVE的消息处理程序,先将这个MOUSEMOVE用自定义的消息或者PFORM里的函数进行处理,同时调用 INHERITED 的MOUSEMOVE消息处理。 需要注意的是  派生类的MOUSEMOVE消息的参数是对派生类控件本身而言的,在其他地方处理时,要注意转换。