📄 demodlg.cpp
字号:
break;
case 17://从左上角到右下角展开
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(0,0,ww+1,hh+1,&MemDC, 0,0,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 18://从右上角到左下角展开
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(w-ww,0,ww+1,hh+1,&MemDC, w-ww,0,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 19://从左下角到右上角展开
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(0,h-hh,ww+1,hh+1,&MemDC, 0,h-hh,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 20://从右下角到左上角展开
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(w-ww,h-hh,ww+1,hh+1,&MemDC, w-ww,h-hh,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 21://从左上角到右下角移动
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(0,0,ww+1,hh+1,&MemDC, w-ww,h-hh,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 22://从右上角到左下角移动
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(w-ww,0,ww+1,hh+1,&MemDC, 0,h-hh,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 23://从左下角到右上角移动
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(0,h-hh,ww+1,hh+1,&MemDC, w-ww,0,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 24://从右下角到左上角移动
{
int n;
if(w>=h)
n=w;
else
n=h;
int ww,hh;
for(int i=0;i<=n;i++)//x
{
if(m_all_run_flag==false) break;
ww=i;
hh=i;
if(i>=w) ww=w;
if(i>=h) hh=h;
dc.BitBlt(w-ww,h-hh,ww+1,hh+1,&MemDC, 0,0,SRCCOPY);
//speed
Sleep(speed);
}
}
break;
case 25://雨滴效果
{
for(int i=h-1;i>=0;i--)
{
if(m_all_run_flag==false) break;
for(int j=0;j<i;j++)
{
if(m_all_run_flag==false) break;
dc.BitBlt(0,j,w,1,&MemDC,0,i,SRCCOPY);
//Sleep(1);
}
Sleep(speed);
}
}
break;
case 26://矩形放大
{
// clear
CBrush brush;
brush.CreateSolidBrush(RGB(0,0,0));
dc.FillRect(CRect(0,0,w,h),&brush);
brush.DeleteObject();
//--------------------------------------------------------
int i,j;
j=0;
if(w>h)
{
for(i=0;i<w/2;i++)
{
//show
dc.BitBlt(0+w/2-i-1,0+h/2-j-1,(i+1)*2,(j+1)*2,&MemDC,w/2-i-1,h/2-j-1,SRCCOPY);
//sleep
Sleep(speed);
j++;
if(j>=h/2-1) j=h/2-1;
//
if(m_all_run_flag==false) break;//
}
}
else
{
for(i=0;i<h/2;i++)
{
//show
dc.BitBlt(0+w/2-j-1,0+h/2-i-1,(j+1)*2,(i+1)*2,&MemDC,w/2-j-1,h/2-i-1,SRCCOPY);
//Sleep
Sleep(speed);
j++;
if(j>=w/2-1) j=w/2-1;
//
if(m_all_run_flag==false) break;//
}
}
}
break;
case 27://矩形缩小
{
// clear
CBrush brush;
brush.CreateSolidBrush(RGB(0,0,0));
dc.FillRect(CRect(0,0,w,h),&brush);
brush.DeleteObject();
//----------------------------------------------------------
int i,j;
j=0;
if(w>h)
{
for(i=0;i<w/2;i++)
{
//up
dc.BitBlt(0+i,0+j,w-i,1,&MemDC,i,j,SRCCOPY);
//down
dc.BitBlt(0+i,0+h-j,w-i,1,&MemDC,i,h-j,SRCCOPY);
//left
dc.BitBlt(0+i,0+j,1,h-j,&MemDC,i,j,SRCCOPY);
//right
dc.BitBlt(0+w-i,0+j,1,h-j,&MemDC,w-i,j,SRCCOPY);
//delay time
Sleep(speed);
j++;
if(j>=h/2) j=h/2;
if(m_all_run_flag==false) break;//
}
}
else//m_height>m_width
{
for(i=0;i<h/2;i++)
{
//up
dc.BitBlt(0+j,0+i,w-j,1,&MemDC,j,i,SRCCOPY);
//down
dc.BitBlt(0+j,0+h-i,w-j,1,&MemDC,j,h-i,SRCCOPY);
//left
dc.BitBlt(0+j,0+i,1,h-i,&MemDC,j,i,SRCCOPY);
//right
dc.BitBlt(0+w-j,0+i,1,h-i,&MemDC,w-j,i,SRCCOPY);
//delaytime for speed
Sleep(speed);
j++;
if(j>=w/2) j=w/2;
if(m_all_run_flag==false) break;//
}
}
}
break;
case 28://由右至左移动出现
{
//save dc bitmap==>tmpdc
CDC tmpdc;
tmpdc.CreateCompatibleDC(&dc);
CBitmap b;
b.CreateCompatibleBitmap(&dc,w,h);
CBitmap *ob=tmpdc.SelectObject(&b);
tmpdc.BitBlt(0,0,w,h,&dc,0,0,SRCCOPY);
//show
for(int i=0;i<w;i++)
{
if(m_all_run_flag==false) break;
dc.BitBlt(0,0,w-i-1,h,&tmpdc,i+1,0,SRCCOPY);
//
dc.BitBlt(w-i-1,0,i,h,&MemDC,0,0,SRCCOPY);
//delay time
Sleep(speed);
}
//RELEASE
tmpdc.SelectObject(ob);
b.DeleteObject();
tmpdc.DeleteDC();
}
break;
case 29://由左至右移动出现
{
//save dc bitmap==>tmpdc
CDC tmpdc;
tmpdc.CreateCompatibleDC(&dc);
CBitmap b;
b.CreateCompatibleBitmap(&dc,w,h);
CBitmap *ob=tmpdc.SelectObject(&b);
tmpdc.BitBlt(0,0,w,h,&dc,0,0,SRCCOPY);
//show
for(int i=0;i<w;i++)
{
if(m_all_run_flag==false) break;
dc.BitBlt(i+1,0,w-i-1,h,&tmpdc,0,0,SRCCOPY);
//
dc.BitBlt(0,0,i+1,h,&MemDC,w-i-1,0,SRCCOPY);
//delay time
Sleep(speed);
}
//RELEASE
tmpdc.SelectObject(ob);
b.DeleteObject();
tmpdc.DeleteDC();
}
break;
/*case 30://左压缩放大
{
for(int i=0;i<w;i++)
{
if(m_all_run_flag==false) break;
//show
dc.StretchBlt(0,0,i+1,h,&MemDC,0,0,w,h,SRCCOPY);
//delay time
Sleep(speed);
}
}
break;
case 31://右压缩放大
{
for(int i=0;i<w;i++)
{
if(m_all_run_flag==false) break;
//show
dc.StretchBlt(w-1-i,0,i+1,h,&MemDC,0,0,w,h,SRCCOPY);
//delay time
Sleep(speed);
}
}
break;
case 32://上压缩放大
{
for(int i=0;i<h;i++)
{
if(m_all_run_flag==false) break;
//show
dc.StretchBlt(0,0,w,i+1,&MemDC,0,0,w,h,SRCCOPY);
//delay time
Sleep(speed);
}
}
break;
case 33://下压缩放大
{
for(int i=0;i<h;i++)
{
if(m_all_run_flag==false) break;
//show
dc.StretchBlt(0,h-1-i,w,i+1,&MemDC,0,0,w,h,SRCCOPY);
//delay time
Sleep(speed);
}
}
break;
*/
case 30://sector merge 半扇形显示
{
// clear
CBrush brush;
brush.CreateSolidBrush(RGB(0,0,0));
dc.FillRect(CRect(0,0,w,h),&brush);
brush.DeleteObject();
//--------------------------------------------------------------
//copy 横线和纵线 deasil:顺时针 逆时针 anticlockwise
//show
dc.BitBlt(0,0+h/2,w,1,&MemDC,0,h/2,SRCCOPY);
dc.BitBlt(0+w/2,0,1,h,&MemDC,w/2,0,SRCCOPY);
//delaytime
Sleep(speed);
long x,y;//,ti;
long i,j;
for(i=0;i<90;i++)
{
//1象函 //M_PI/180
for(j=0;j<w/2;j++)
{
x=j;
y=(long)(x*tan(i*M_PI/180.0));
dc.BitBlt(0+w/2+x,0+h/2-y,1,y,&MemDC,w/2+x,h/2-y,SRCCOPY);
}
//2象函 :对称原理 换坐标
for(j=0;j<h/2;j++)
{
x=j;
y=(long)(x*tan(i*M_PI/180.0));
dc.BitBlt(0+w/2-y,0+h/2-x,y,1,&MemDC,w/2-y,h/2-x,SRCCOPY);
}
//3象函
for(j=0;j<w/2;j++)
{
x=j;
y=(long)(x*tan(i*M_PI/180.0));
dc.BitBlt(0+w/2-x,0+h/2+y,1,y,&MemDC,w/2-x,h/2+y,SRCCOPY);
}
//4象函
for(j=0;j<h/2;j++)
{
x=j;
y=(long)(x*tan(i*M_PI/180.0));
dc.BitBlt(0+w/2+y,0+h/2+x,y,1,&MemDC,w/2+y,h/2+x,SRCCOPY);
}
//delaytime
Sleep(speed);
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -