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);
}
5 个解决方案
#1
static int x=0,y=0,z=0;
#2
m_color应该是静态的吧,而且你的定时器设置也有点问题吧
#3
SetTimer(1,1000,NULL);放在其他地方,比如放在一个按钮的事件中,其他应该没什么问题;
#4
前面基本都说出来了。
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
#5
前面基本都说出来了。
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
#1
static int x=0,y=0,z=0;
#2
m_color应该是静态的吧,而且你的定时器设置也有点问题吧
#3
SetTimer(1,1000,NULL);放在其他地方,比如放在一个按钮的事件中,其他应该没什么问题;
#4
前面基本都说出来了。
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
#5
前面基本都说出来了。
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次
X Y 不能设置为局部变量,
SetTime()应该放在其他函数内面,他的意思是在执行到这条语句的时候
调用Ontime(),时间间隔是1000MS调用一次