不是不使用SetBoundsRect函数,我的使用方法如下:
RECT Canvas;
Canvas.left = 10;
Canvas.top = 10;
Canvas.right = 150;
Canvas.bottom = 150;
pdc->SetBoundsRect(&Canvas, DCB_RESET);不知道为什么不起作用,仍然可以画到矩形以外,请问为什么?

解决方案 »

  1.   

    CRgn rgn;
    rgn.CreateRectRg(CRect);
    pDC->SelectClipRgn(&rgn);这样得话 绘制只在那个矩形去内有效!
      

  2.   

    ClipCursor(CRect)限制鼠标在RECT中活动
    ClipCursor(NULL)取消限制
      

  3.   

    ClipCursor(CRect)
    ClipCursor(NULL)
      

  4.   

    我想知道我的方法为什么不行?SetBoundsRect函数到底如何使用?
      

  5.   

    // 下面的应该可以满足你         CPoint pts[] = {CPoint(100,100), CPoint(300,300)};

    CRect rect(100,100,200,200);
    CRgn  rgn;
    rgn.CreateRectRgnIndirect(&rect);
    pDC->SelectClipRgn(&rgn); pDC->MoveTo(pts[0]);
    pDC->LineTo(pts[1]); rgn.DeleteObject();