我在button中只能找到click &dclick message, 可是我需要在鼠标点下和松开的时候做不同的事,请问该怎么办????

解决方案 »

  1.   

    从CButton派生一个类,处理鼠标消息。
    然后用这个类为那个button控件生成一个变量。
      

  2.   

    你可以在此处理:
    void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    添加代码
    CDialog::OnLButtonDown(nFlags, point);
    }
      

  3.   

    按yu_hl说的是可以实现的。
    1.以CButton为基类建一个新类2.用类向导将新建类的信息过滤项(Class Wizard->Class Info->Class Name->Message filter)设置成“Not a Window”外的任何一项(为了消息映射中有WM_LBUTTONDOWN项)3.用类向导给新建类添加要用到的消息映射。这里当然是 WM_LBUTTONDOW 和 WM_LBUTTONUP 了4.用新建的类给需要OnLBUTTONDOWN的按钮建一个变量。也就是在类向导中给要处理的按钮添加变量,并将变量的类型指定为新建的类5.在类的实现(.cpp)文件中的OnLButtonDown函数中就可处理铵钮上鼠标左健按下的事件了6.如果一个对话框上有不只一个按钮要进行这样的处理,则可在OnLButtonDown函数使用this->m_hWnd来获得被点中的按钮的句柄,然后可用GetDlgCtrlID函数来得到按钮的ID,这样就可以区分不同的按钮事件。当然,如果只有一个按钮这一步就没有用了