分类: C/C++
2008-03-11 09:02:41

UINT DispThread(LPVOID lpParam)
{
CDynLine* pWnd = (CDynLine*)lpParam;
CClientDC dcClient(pWnd);
CDC dcMem;
dcMem.CreateCompatibleDC(&dcClient);
BITMAP bits;
pWnd->m_bmp.GetBitmap(&bits);
CBitmap *pBmp = (CBitmap*)dcMem.SelectObject( pWnd->m_bmp );
CSize size(0,0);
while(g_lDisplay)
{
if( size.cx < bits.bmWidth )
size.cx +=2;
else
size.cx = 0;
dcClient.BitBlt( 0,0,size.cx,bits.bmHeight,&dcMem,(bits.bmWidth-size.cx),0,SRCCOPY);
dcClient.BitBlt( size.cx,0,(bits.bmWidth-size.cx),bits.bmHeight,&dcMem,0,0,SRCCOPY);
Sleep( 20 );
}
return 1;
}
动态显示的算法很简单,就是不断移动填充图象的位置。