我想实现把鼠标移到某一个按钮的时候把背景图替换掉 请问应该怎么做

解决方案 »

  1.   

    你可以参考下一般的自绘button的实现,有些会有的
      

  2.   

    求大神帮忙看看有什么问题  本来按按钮的功能已经实现了  想加这个代码 加完以后背景能加载 但是按按钮没反应了
    void C新的SNAKEView::OnMouseMove(UINT nFlags, CPoint point)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
     CDC *pDC=GetDC();
    if(Flag10==1)          //处理所有的第一个画面的鼠标移动 if(point.x>=60&&point.x<=230&&point.y>=185&&point.y<=220)
    {
    CRect rect;
     GetClientRect(&rect);
    // CDC *pDC=GetDC();
    CImage image7;
        image7.Load("开始游戏特效.bmp");
     if(!image7.IsNull()) image7.Draw(pDC->m_hDC, 0, 0,rect.Width (),rect.Height ());
    Flag10=2;
    } if(point.x>=60&&point.x<=230&&point.y>=243&&point.y<=275)
    {
    CRect rect;
     GetClientRect(&rect);
    // CDC *pDC=GetDC();
    CImage image8;
        image8.Load("游戏选项特效.bmp");
     if(!image8.IsNull()) image8.Draw(pDC->m_hDC, 0, 0,rect.Width (),rect.Height ());
    Flag10=2;
    } if(point.x>=60&&point.x<=230&&point.y>=298&&point.y<=329)
    {
    CRect rect;
     GetClientRect(&rect);
    // CDC *pDC=GetDC();
    CImage image9;
        image9.Load("游戏说明特效.bmp");
     if(!image9.IsNull()) image9.Draw(pDC->m_hDC, 0, 0,rect.Width (),rect.Height ());
     Flag10=3;
    }
    if(point.x>=60&&point.x<=230&&point.y>=353&&point.y<=388)
    {
    CRect rect;
     GetClientRect(&rect);
    // CDC *pDC=GetDC();
    CImage image10;
        image10.Load("开始退出特效.bmp");
     if(!image10.IsNull()) image10.Draw(pDC->m_hDC, 0, 0,rect.Width (),rect.Height ());
     Flag10=3;
    }
    CView::OnMouseMove(nFlags, point);
    }
      

  3.   

    应该派生 按钮, 在 派生 类中 OnMouseMove
      

  4.   

    自定义按钮类,继承自CButton类,在自定义类里面添加OnMouseMove消息,再添加你以上的代码