对话框由小到大显示的动画效果

本文介绍了一种实现对话框从隐藏状态逐渐放大至正常大小的动画效果的方法。通过使用Windows API和区域绘制技术,使得对话框能够平滑地从小到大出现。

对话框由小到大显示的动画效果:
在InitDialog中增加:
ShowWindow(SW_HIDE);
CRect dlgRect;
GetClientRect(&dlgRect);
CPoint centerPoint;
centerPoint.x=dlgRect.Width()/2;
centerPoint.y=dlgRect.Height()/2;//得到对话框的中点坐标
CRgn testrgn;
this->ShowWindow(SW_HIDE); 
int m=GetSystemMetrics(SM_CYSIZEFRAME);
//以下代码实现对话框的动态弹出
for (int i=10;i<dlgRect.Width()/2+m;i+=1)
{  
  testrgn.CreateRectRgn(centerPoint.x-i,centerPoint.y-i,centerPoint.x+i,centerPoint.y+i);
  SetWindowRgn((HRGN) testrgn,TRUE);
  ShowWindow(SW_SHOW);
  CenterWindow();
  testrgn.DeleteObject();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值