您的位置:首页 > 其它

贝壳界面库记录1-界面圆角实现

2016-06-20 00:00 267 查看
这段时间来对贝壳界面库的学习,对现实技术和细节已经非常熟悉了。

做一些总结。



一般写圆角的时候直接不OnSize里

//HRGN hrgn = ::CreateRoundRectRgn(0,0,601,440,8,8);
//::SetWindowRgn(m_hWnd,hrgn,TRUE);

会写CSS的对上面的图形结构一定不陌生。

和纯CSS写圆角一个原理。

贝壳里的圆角就是这么实现的

rgnWindow.CreateRectRgn(rcClient.left, rcClient.top + 3, rcClient.right, rcClient.bottom);
rgnAdd.CreateRectRgn(rcClient.left, rcClient.top, rcClient.right-4, rcClient.top + 1);

rgnAdd.OffsetRgn(2, 0);

rgnWindow.CombineRgn(rgnAdd, RGN_OR);

rgnAdd.SetRectRgn(rcClient.left, rcClient.top, rcClient.right - 2, rcClient.top + 1);
rgnAdd.OffsetRgn(1, 1);
rgnWindow.CombineRgn(rgnAdd, RGN_OR);

rgnAdd.SetRectRgn(rcClient.left, rcClient.top, rcClient.right, rcClient.top + 1);
rgnAdd.OffsetRgn(0, 2);
rgnWindow.CombineRgn(rgnAdd, RGN_OR);

rgnAdd.SetRectRgn(rcClient.left, rcClient.top, rcClient.right, rcClient.top + 1);
rgnAdd.OffsetRgn(0, 3);
rgnWindow.CombineRgn(rgnAdd, RGN_OR);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: