[转]MFC - 从屏幕右下角升起的弹窗

本博客展示了如何在初始化对话框时获取桌面大小和对话框大小,将窗口设置到右下角,并通过动画实现窗口平滑过渡的效果。具体步骤包括使用`SystemParametersInfo`函数获取工作区域,调用`GetWindowRect`获取对话框尺寸,然后使用`SetWindowPos`设置窗口位置,并通过`AnimateWindow`函数实现动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//stdafx.h

#undef WINVER
#define WINVER 0x500_SLIDE|AW_VER_NEGATIVE);




// 在OnInitDialog()中添加 
     
// 示例 
     
// 获得桌面大小 
CRect rectWorkArea; 
SystemParametersInfo(SPI_GETWORKAREA,0,&rectWorkArea,SPIF_SENDCHANGE);    
     
// 获得对话框大小 
CRect rectDlg; 
GetWindowRect(&rectDlg); 
int nW = rectDlg.Width(); 
int nH = rectDlg.Height(); 
     
// 将窗口设置到右下角 
::SetWindowPos(GetSafeHwnd(),HWND_BOTTOM,rectWorkArea.right-nW-20,rectWorkArea.bottom-nH,nW,nH,SWP_NOZORDER); 
     
// 动画显示弹窗效果 
::AnimateWindow(GetSafeHwnd(),800,AW_SLIDE|AW_VER_NEGATIVE); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值