26.2.2 相册屏幕保护程序
相册屏幕保护程序的创建与滚动字体的屏幕保护程序的创建方法是一样的,都是通过定时器定时更新屏幕内容来实现的,其区别仅在于,相册屏幕保护程序的定时器会执行DrawBitmap()函数,每次绘制一幅位图,用户可以根据需要自己设置位图的个数,本节中仅使用两幅位图实现滚动播放相片的功能。代码如下:
- void CPhotoScreenWnd::DrawBitmap(CDC& dc, int nIndex) // 绘制位图
- {
- CDC dcMem; // 定义设备上下文
- dcMem.CreateCompatibleDC(&dc); // 创建内存上下文
- CBitmap m_Bitmap; // 定义位图对象
- m_Bitmap.LoadBitmap(IDB_BITMAP1+nIndex); // 装载位图
- dcMem.SelectObject(m_Bitmap); // 选择位图
- dc.BitBlt(0,0, 1276, 854,&dcMem,0,0,SRCCOPY); // 绘制位图
- }
上面代码是定时器的定时执行函数,其功能是以全屏的方式显示位图,并为位图计数分配新值,以实现动态相册播放的屏幕保护效果。按照26.2.1小节中介绍的方法,生成并设置屏幕保护程序,即可实现动态播放相片的屏幕保护程序。