void CMyDlg::OnBnClickedButtonDis()
{
// TODO: 在此添加控件通知处理程序代码
m_bStart = TRUE;
SetTimer ( 1000, 100, NULL );
}void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if ( nIDEvent == 1000 )
{
if ( m_nPos == 8 )
m_nPos = 0;
m_nPos ++;
InvalidateRect( &m_rcClient, TRUE );   
RedrawWindow(&m_rcClient,NULL,RDW_INTERNALPAINT | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);   
}
CDialog::OnTimer(nIDEvent);
}void CMyDlg::OnPaint() 
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CPaintDC dc(this);
CDC MemDC;  //创建内存DC并在这里面画图,之后再将其拷贝的PaintDC MemDC.CreateCompatibleDC ( &dc );
CBitmap bmpFace; 
bmpFace.CreateCompatibleBitmap ( &dc, m_rcClient.Width(), m_rcClient.Height() ); 
CBitmap* pOldBmp = NULL;   
pOldBmp = MemDC.SelectObject( &bmpFace );
MemDC.FillSolidRect(  &m_rcClient, RGB ( 124, 27, 214 ) );
dc.BitBlt( 0, 0, m_rcClient.Width(), m_rcClient.Height(), &MemDC, 0, 0, SRCCOPY );
DrawContent( &dc );
CDialog::OnPaint();
}
}void CMyDlg::DrawContent(CDC* pDC)
{
  //I have done sth here!
}