想实现的是:画一个圆,圆的颜色随时间变化   为什么颜色不变?void CWork00View::OnDraw(CDC* pDC)
{
CWork00Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBrush brush(m_color);
CBrush *oldbrush=pDC->SelectObject(&brush);
pDC->Ellipse(m_rect);
pDC->SelectObject(oldbrush);
// TODO: add draw code for native data here
}void CWork00View::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
SetTimer(1,1000,NULL);
int x=0,y=0,z=0;
x+=10;
y+=10;
z+=10;
         m_color=(RGB(x,y,z));
InvalidateRect(NULL);
CView::OnTimer(nIDEvent);
}

解决方案 »

  1.   

    m_color应该是静态的吧,而且你的定时器设置也有点问题吧
      

  2.   

    SetTimer(1,1000,NULL);放在其他地方,比如放在一个按钮的事件中,其他应该没什么问题;
      

  3.   

    前面基本都说出来了。
    X Y 不能设置为局部变量,
    SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
    调用Ontime(),时间间隔是1000MS调用一次
      

  4.   

    前面基本都说出来了。
    X Y 不能设置为局部变量,
    SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
    调用Ontime(),时间间隔是1000MS调用一次