先获得设备说明表
然后再在鼠标的move消息中建立一个rect区域
然后是它无效,并用背景色填充

解决方案 »

  1.   

    http://asp.6to23.com/vcprogram/source/sourcefile/ExamTracker.zip 是一个橡皮擦的例子
      

  2.   

    tingya,你给的那个东东是橡皮擦??怎么好几种颜色??
      

  3.   

    void CMdrawView::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    m_PointOld=m_PointOrigin=point;
    m_Dragging=1;
    SetCapture();
    RECT rect;
    GetClientRect(&rect);
    ClientToScreen(&rect);
    ::ClipCursor(&rect);
    CView::OnLButtonDown(nFlags, point);}
    void CMdrawView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    if(m_Dragging)
    {
    CClientDC ClientDC(this);
    ClientDC.SetROP2(R2_NOT); //核心部分
    ClientDC.MoveTo(m_PointOrigin);
    ClientDC.LineTo(m_PointOld);
    ClientDC.MoveTo(m_PointOrigin);
    ClientDC.LineTo(point);
    m_PointOld=point;
    }
    }
      

  4.   

    void CMdrawView::OnLButtonDown(UINT nFlags, CPoint point) {
    m_PointOld=m_PointOrigin=point;
    m_Dragging=1;
    SetCapture();
    RECT rect;
    GetClientRect(&rect);
    ClientToScreen(&rect);
    ::ClipCursor(&rect);
    CView::OnLButtonDown(nFlags, point);}void CMdrawView::OnMouseMove(UINT nFlags, CPoint point) { if(m_Dragging)
    {
    CClientDC ClientDC(this);
    ClientDC.SetROP2(R2_NOT);
    ClientDC.MoveTo(m_PointOrigin);
    ClientDC.LineTo(m_PointOld);
    ClientDC.MoveTo(m_PointOrigin);
    ClientDC.LineTo(point);
    m_PointOld=point;
    }
    }
      
      

  5.   

    不会吧?怎么楼上的代码跟我的一莫一样?跟我学的同一本书吗?
    这个问题以前回答过。见
    http://www.csdn.net/expert/topic/387/387042.xml?temp=.8120233