对话框从大到小

本文介绍了一种使用Windows API实现窗口透明度渐变效果的方法。通过调整窗口区域来改变透明度,使得窗口从完全不透明平滑过渡到完全透明。此过程涉及窗口隐藏、获取客户端区域尺寸、创建圆形区域并设置为窗口区域等步骤。
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+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、付费专栏及课程。

余额充值