请问图像按钮(CBitmapButton),怎样让鼠标移上去时换另幅图像?

解决方案 »

  1.   

    On_MouseMove SetCapture ....
      

  2.   

    只能在OnMouseMove中做,鼠标移上去时变成要变的位图,将要离开时变成原来的位图
      

  3.   

    楼主,我用的那个是自己写的,没用CBitmapbutton.要吗
      

  4.   

    http://www.codeproject.com/buttonctrl/hoverbutton.asp
      

  5.   


    响应MouseMove消息if (m_yourButton.PtInRect(point))
      pBitmap->LoadBitmap(IDB_your_bmp);
      

  6.   

    是不是应该先捕捉一下WM_MOUSEMOVE的消息,判断一下button的位置。用PreTranslateMessage(MSG* pMsg)试试看。POINT pt = pMsg->pt;
    ScreenToClient( &pt );
    CWnd * pWnd = ChildWindowFromPoint(pt);
    UINT currentControlID =(UINT) pWnd->GetDlgCtrlID();
    if (currentControlID == ID_YOURBUTTON)
    {……
       LoadBitmap……
    }自己试试吧!
      

  7.   

    好好看看MSDN,CBitmapButton类本来就可以在四种状态下自动改变位图.我记得好像是把四个位图安这种形势命名"XXXXXU","XXXXXD","XXXXXXF",具体你自己查一下.
      

  8.   

    look in <inside visual c++>
      

  9.   

    SendMessage(HwndButton, BM_SETIMAGE, ……);
    在msdn查BM_SETIMAGE.