With every timer event we start the following code which does all the painting. The only magic for the flicker free painting is the use of the Class CMemDC

BOOL CFlickerFreeDemoDlg::OnEraseBkgnd(CDC* pDC)
{
	return FALSE;
}