我是用了阿:
CClientDC dc(this);
newpen.CreatePen(PS_SOLID,2,RGB(0,0,0));
poldpen=dc.SelectObject(&newpen);
dc.SetBkMode(TRANSPARENT);
//绘图……
dc.SelectObject(poldpen);
 newpen.DeleteObject();可是还是不行啊,小男孩。

解决方案 »

  1.   

    有橡皮筋功能,在lbuttonup还没有发生时一切正常,并没有挡住下面那个矩形,可是左键一松开就不行了
      

  2.   

    这样试试:
    HBRUSH hNullBrush = (HBRUSH)::GetStockBrush(NULL_BRUSH);
    CBrush brush;
    brush.Attach(hNullBrush);
    CBrush * pOldBrush = dc.SelectObject(&brush);
    ...dc.SelectObject(pOldBrush);
    brush.Detach();
      

  3.   

    用的是:dc.Rectangle(x1,y1,x2,y2);
      

  4.   

    小男孩,你的程序只加在OnLButtonUp还是也加在OnMouseMove?
      

  5.   

    要用GetStockBrush要加什么头文件吗?
    直接用他说:GetStockBrush' : is not a member of '`global namespace''
      

  6.   

    用Rectangle画矩形时,内部也全被填充的!
    如果只想画矩形框,用LintTo和MoveTo
      

  7.   

    那如果想用dc.SelectStockObject(NULL_BRUSH)
    怎么样?
    具体怎么用?
      

  8.   

    dc.SelectStockObject(NULL_BRUSH);
    dc.Rectangle(x1,y1,x2,y2);
    dc.Rectangle(x3,y3,x4,y4);
      

  9.   

    在你画矩形之前调用dc.SelectStockObject(NULL_BRUSH)
    不过为了不随便改变设备驱动环境,最好在用完以后再还原;
    即:
    CGdiObject *old=pDC->SelectStockObject(NULL_BRUSH);
    ...////////////////
    ...//你的画图代码//
    ...////////////////
    pDC->SelectObject(old);
      

  10.   

    两种用法:
    1,dc.SelectStockObject(NULL_BRUSH);
      dc.Rectangle(x1,y1,x2,y2);
    2,CBrush brush;
      brush.CreateStockObject(NULL_BRUSH);
      dc.SelectObject(&brush);
      dc.Rectangle(x1,y1,x2,y2);
    NULL_BRUSH是windows定义的不画任何东西的画刷。