百叶窗显示窗体
今天书上看到这个例子,但是它只给出来主要代码,不知道怎么具体实现,希望哪个能帮我做一个可以运行都工程实现百叶窗效果主要使用了函数Sleep在指定的时间间隔内挂起当前绘制图形的进程。
Sleep函数语法如下:
VOID Sleep(DWORD dwMilliseconds);
参数说明:
udwMilliseconds参数用于指定挂起执行进程的时间,以毫秒为单位。当该值为0时,该进程将余下的时间交给其他进程。如果没有这样的进程,则函数立即返回,该进程继续执行。如果把该参数设为INFINITE,则可无限延迟。
设计过程
(1)新建一个基于对话框的应用程序,将窗体标题改为“百叶窗窗体”。
(2)在ResourceView视图中单击鼠标右键,选择Import菜单项,在Import Resource窗口中添加一个位图。
(3)主要程序代码。
int i,j,w,h;
CPaintDC dc(this);
CBitmap bit;
CDC mendc;
CRect rect;
this->GetWindowRect(&rect);
w=rect.Width();
h=rect.Height();
bit.LoadBitmap(IDB_BITMAP1);
mendc.CreateCompatibleDC(&dc);
mendc.SelectObject(&bit);
for(i=0;i<20;i++)
{
for(j=i;j<w;j+=20)
{
dc.BitBlt(j,0,1,h,&mendc,j,0,SRCCOPY);
Sleep(2);
}
}
mendc.DeleteDC();
::DeleteObject(&bit);