mfc书上的代码:
void CTestROP2View::OnTestRop2()
{
//构造CDC对象
CClientDC dc(this);
//设置绘图混合模式
dc.SetRop2(R2_XORPEN);//创建一个红色阴影模式画刷
CBrush newbrush(HS_CROSS,RGB(255,0,0));
CBrush *pOld=dc.SelectObject(&newbrush);//画一个400x200的矩形
dc.Rectangle(100,100,500,300);dc.SelectObject(pOld);//这行如果去掉会有什么影响,会不会把电脑的设置改变?

解决方案 »

  1.   

    不会,不过以后你的程序中的Brush就是newbrush。
      

  2.   

    会有影响啊,会改变画刷的默认设置,如果你不将pOldBrush设置回去,下次你不装入一个新的CBrush 的话,就是你的最后这次设置的值.
      

  3.   

    dc.SelectObject(pOld);//如果这里的代码没有
    //那我再新写一点
    CBrush newbrush11(//相应的参数);
    dc.SelectObject(&newbrush11);
    //不能改成新的画刷吗