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


这段时间来对贝壳界面库的学习,对现实技术和细节已经非常熟悉了。

做一些总结。

 

 

 

一般写圆角的时候直接不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);

 

 

 

 

posted @ 2010-12-28 17:21  MokLiu  阅读(309)  评论(0编辑  收藏  举报