博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

产生随机的背景图

Posted on 2010-04-23 07:41  ccmfc  阅读(211)  评论(0编辑  收藏  举报

首先是创建工程RandBackGroundDlg。。。。

在RandBackGroundDlg中添加EraseBKGND响应事件

当然还得有图片了。。。CBitmap m_Bitmap[NUMBER];

在初始化中LoadBitmap图片

在EraseBKGND中实现中加下如下代码:

BOOL CRandBackGroundDlg::OnEraseBkgnd( CDC* pDC )
{
 CRect rect;
 BITMAP bitmap;
 GetClientRect(&rect);

 SYSTEMTIME ti;
 GetLocalTime(&ti);
 srand(time(NULL));
 int i = rand()%4;
 m_Bitmap[i].GetBitmap(&bitmap);
 
 CDC memDC;
 memDC.CreateCompatibleDC(pDC);

 memDC.SelectObject(&m_Bitmap[i]);
 pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
 //SetTimer(1,1000,NULL);
 return TRUE;       
}

 

如果你想在程序运行后每隔一段时间更换背景的话。

只要创建一上定时器就行了。。。。实现的方法和上面的代码 相同。。。

上课去了。。。。闪人。。。。。。。。。。。。。