我想对一个按纽按下去,产生一个动作,鼠标不弹起来就一直执行。在VB中有区别,在MFC或者用API怎么实现?

解决方案 »

  1.   

    按钮的WM_LBUTTONDOWN和WM_LBUTTONUP消息是由按钮自己处理的并不以通知的形式发送给它的父窗口(如对话框),而BN_CLICK消息是button处理了这两个函数后给其父窗口发送的通知。所以要处理这两个消息最好在一个CButtton的派生类中进行,不知你明白了吗?
      

  2.   

    ruihuahan(飞不起来的笨鸟)老兄,您的意思是不是说,CButton本身并不响应WM_LBUTTONDOWN和UP消息,但是,派生了CButton之后,可以加上对这两个消息的响应?
    请老兄进一步讲解。谢谢。
      

  3.   

    原因我不太清楚。不过确实是把这两个消息最好在一个CButtton的派生类中进行
      

  4.   

    CButton也会响应,只是最好不要修改它,而在它的派生类中作修改。
      

  5.   

    用WlassWizard添加新类,基类为CButton,类名例如:CMyButton。添加后,在用WlassWizard为CMyButton类添加函数,在Message中选WM_LBUTTONDOWN和WM_LBUTTONUP,为他们生成消息处理函数即可。
      

  6.   

    WM_LBUTTONDOWN

    WM_LBUTTONUP