在编译之前,在vc中什么样的容器可以画图啊?如果画号图后,我想让鼠标移动到图像上时,鼠标变为手型(或其他的也行),然后鼠标具有单击事件,应该怎么做啊?
各位大大,初学者,务必帮忙!

解决方案 »

  1.   

    画图的话不只要是窗口控件都可以绘图。至于鼠标事件你可以添加WM_MOUSEMOVE, WM_LBUTTONDOWN等消息,进行判断,如果鼠标在绘图窗口的图形上方时就可以调用SetCursor()来设置鼠标的形状。
      

  2.   

    picture控件是最常用的,另外button按钮也可以做到,往里边贴图就可以。
    处理鼠标移动问题可以这样做:
    1.处理 ON_WM_SETCURSOR()事件
    2. // the button cursor
    HCURSOR m_hButtonCursor;
    3.载入手形资源IDC_MYHAND,自己添加 并随意命名

    m_hButtonCursor = AfxGetApp()->LoadCursor(IDC_MYHAND);
    BOOL CMyDialog::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT msg)
    {
    CString sClassName;//用于获取具体控件类型 ::GetClassName(pWnd->GetSafeHwnd(),
    sClassName.GetBuffer(50/*sClassName.GetLength()*/), 50/*sClassName.GetLength()*/);
    //当遇到按钮控件
    if (sClassName=="Button" && m_hButtonCursor) {
    ::SetCursor(m_hButtonCursor);
    return TRUE;
    }
    //当遇到EditBox控件
    if (sClassName=="Edit" && m_hButtonCursor) {
    ::SetCursor(m_hButtonCursor);
    return TRUE;
    }

    return CDialog::OnSetCursor(pWnd, nHitTest, msg);
    }
      

  3.   

    可以向指定的控件窗口发送单击事件啊..用SendMessage