我做一个画板软件 
现在画的椭圆和矩形都会上面的把下面的覆盖掉 
为什么啊??
谁能帮我解决  
我用的函数是vs2005的库函数

解决方案 »

  1.   

    因为设备描述表中有一个默认的白色画刷,如果希望矩形画刷是透明的可以这样,CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
      

  2.   


    CClientDC dc(this);  /*设定当前用户工作环境*/
    endpt.x=point.x;
    endpt.y=point.y;  /*将鼠标移动的当前位置为结束点*/
    if(startpt.x != -1)  /*保证起始点为鼠标左键按下的位置*/
    { dc.MoveTo(startpt.x,startpt.y);
            dc.Rectangle(startpt.x,startpt.y,endpt.x,endpt.y); /*从startpt位置开始到endpt位置画线操作*/
            startpt.x=endpt.x;
    startpt.y=endpt.y;  /*画完线后将当前的endpt值赋给变量startpt,即从当前的endpt位置继续画线,直到鼠标不再移动并左键抬起为止*/
    }
    看看吧 我画的矩形是覆盖的 大家能指导我一下吗 谢谢了
      

  3.   

    HBRUSH hOldBrush = (HBRUSH)dc.SelectStockObject(NULL_BRUSH);
    ...//画图
    dc.SelectObject(hOldBrush);