button没有 mouseover这个事件阿,我该怎么办?还有,如何给button加上背景图,可以吗?

解决方案 »

  1.   

    ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)
    ON_MESSAGE(WM_MOUSEHOVER, OnMouseHover)
      

  2.   

    [转贴]
    函数的代码见如下,这段代码非常有用,在其它的自绘控件中,如果想触发WM_MOUSELEAVE和WM_MOUSEHOVER消息,也是使用类似的方法实现的。
    void CXPButton::OnMouseMove(UINT nFlags, CPoint point) 
    {
           // TODO: Add your message handler code here and/or call default
           if (!m_bTracking)
           {
                  TRACKMOUSEEVENT tme;
                  tme.cbSize = sizeof(tme);
                  tme.hwndTrack = m_hWnd;
                  tme.dwFlags = TME_LEAVE | TME_HOVER;
                  tme.dwHoverTime = 1;
                  m_bTracking = _TrackMouseEvent(&tme);
           }
           CButton::OnMouseMove(nFlags, point);
    }
    我们接着添加WM_MOUSELEAVE和WM_MOUSEHOVER消息消息函数。在CXPButton类的声明中(即在XPButton.h文件中)找到afx_msg void OnMouseMove(UINT nFlags, CPoint point);的函数声明,紧接其下输入 afx_msg LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnMouseHover(WPARAM wParam, LPARAM lParam);然后在XPButton.cpp文件中找到ON_WM_MOUSEMOVE(),紧接其后输入 ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)
    ON_MESSAGE(WM_MOUSEHOVER, OnMouseHover)还有,如何给button加上背景图,可以吗?
    按钮的自画
    到www.vckbase.com找一找,很多例子
      

  3.   

    还有,如何给button加上背景图,可以吗?
    还有一种办法,button的类CButton改成CBitmapButton
    用这个类就可以了
      

  4.   

    下载这个类好好研究一下会收获很多:CButtonST