for(int i=0;i<8;i++)
 {
  pDC->Ellipse(last_x-pow(2,i)/2,last_y-pow(2,i)/2,last_x+pow(2,i)/2,last_y+pow(2,i)/2);
 
 }
系统只显示最后的一个圆,有什么办法让开始画的圆保存下来啊,谢谢!

解决方案 »

  1.   

    pDC->SelectStockObject(NULL_BRUSH);
    放在for循环的前面
      

  2.   

    用arc代替Ellipse
    或者用透明的画刷。
      

  3.   

    你可以这样做一下就能看的清楚是怎么回事了
    for(int i=8;i>0;i--)
    {
    pDC->Ellipse(last_x-pow(2,i)/2,last_y-pow(2,i)/2,last_x+pow(2,i)/2,last_y+pow(2,i)/2);
    pDC->SelectStockObject(i%5);
    }
      

  4.   

    你把刷子定为空刷子就可以了,
    因为每次覆盖是刷子填充图形而造成的,
    pDC->SelectStockObject(NULL_BRUSH);
      

  5.   

    以前我刚学VC的总结:
    Pen决定边界颜色和宽度
    Brush决定填充颜色
      

  6.   

    to:
    rogerfz
    对不起,你说得也是完完全全对的!可是我没给分你!我操作失误
    对不起!!!!!