MFC 对话框圆角矩形的实现方法

网上流传的简单实现方法有两种:
方法一:
在OnInitDialog() 添加:


SetWindowLong(m_hWnd,GWL_HWNDPARENT,NULL);
CRgn m_rgn; 
RECT rc; 
GetWindowRect(&rc); 
m_rgn.CreateRoundRectRgn(rc.left,rc.top,rc.right,rc.bottom,100,100); 
SetWindowRgn(m_rgn,TRUE); 


测试只适用于主对话框




方法二:
 在对话框或者文档的框架类中添加WM_SIZE消息响应代码代码如下即可实现圆角矩形窗口
 CRgn rgn;
 CRect rc;
 GetWindowRect(&rc); //获得窗口矩形
 rc -= rc.TopLeft();
 rgn.CreateRoundRectRgn(rc.left, rc.top, rc.right, rc.bottom, 15, 15); //根据窗口矩形创建一个圆角矩形最后两个是形成圆角的大小
 SetWindowRgn(rgn, TRUE);


测试适用于子对话框窗口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值