有六个位图按钮,ID_1,ID_2,ID_3,ID_4,ID_5,ID_6,把鼠标移到位图控键变成手的形状怎么做?

解决方案 »

  1.   

    还有用下面的方法鼠标悬浮在位图按钮上没有效果!!(1)、在对话框适当位置添加按钮,为其"Caption"设置一个值,假设为"MYBUTTON",为其指定ID号,假设为"IDC_MYBUTTON",并设定“Owner Draw”属性(2)、做4个位图,分别用于当按钮处在“UP”、“DOWN”、“FOCUS”、“DISABLE”时显示,其ID分别为"MYBUTTONU"、"MYBUTTOND"、"MYBUTTONF"、"MYBUTTONX",注意,不要写成MYBUTTONU、MYBUTTOND、MYBUTTONF、MYBUTTONX;(3)、在对话框类的结构中(.h)加入如下代码:CBitmapButton m_wndBitmapButton;(4)、在对话框的初始函数(OnInitDialog)中加入如下代码:
        
    m_wndBitmapButton.AutoLoad(IDC_MYBUTTON,this);
      

  2.   

    SetClassLong()把字窗口的hCursor字段改成别
      

  3.   

    CTest6Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
    {
            CRect rect;
            CPoint ptCursor;
            CWnd *pStatic1 = GetDlgItem(IDC_BUTTON);#if(WINVER >= 0x0500)
    #define IDC_HAND            MAKEINTRESOURCE(32649)
    #endif /* WINVER >= 0x0500 */         pStatic1->GetWindowRect(rect);
            GetCursorPos(&ptCursor); 
            if(rect.PtInRect(ptCursor))
            {
    HICON hIconBang = AfxGetApp()->LoadCursor(IDC_HAND);
    SetCursor(hIconBang);
    return TRUE;
            }
            else
             return CDialog::OnSetCursor (pWnd, nHitTest, message);
    }
      

  4.   

    在OnCreate调用
    SetClassLong(m_hWnd, GCL_HCURSOR, IDC_HAND);六个都从同一个基类派生就可以了