基于MFC的Opengl实现动画

对于了解MFC程序设计的来说,就太简单了。像我这种的,还是有必要记下来。

OnCreate设置定时:SetTimer(1, 10, NULL);//设置#1定时器 key point

void COpenGL2View::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	if (nIDEvent == 1)//settimer对应的事件标号-----1
	{
		++day;
		if(day>=360)
			day=1;
		Invalidate(FALSE);//重绘 
	}
	
	
	//InvalidateRect(NULL, FALSE);    
	CView::OnTimer(nIDEvent);
}
void COpenGL2View::OnDraw(CDC* /*pDC*/)
{
	COpenGL2Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;
	
	static BOOL bBusy=FALSE;
	if(bBusy) return;
	// TODO: 在此处为本机数据添加绘制代码
	m_glRender.DrawScene();
	SwapBuffers(wglGetCurrentDC());
	bBusy=FALSE;
}

  

  

代码很简单,分享给像我这样的初学者。注意:DrawScene函数是放在OnDraw事件中了,Onpaint事件删除掉了。

原文地址:https://www.cnblogs.com/DebugMe/p/3222321.html