不规则窗口的实现

上一篇 / 下一篇  2008-01-10 15:27:48 / 个人分类:学习.net 使用编程100例

rect.right与Rightrect 的区别

OnSize():应用程序窗口在重绘或者大小发生改变时用该函数;实现不规则窗口需要编辑该函数;

首先:创建CRgn对象,调用该对象的成员函数CreateRoundRectRgn()创建圆角矩形;

SetWindowRgn():该函数将绘画和鼠标消息限定在窗口的一个指定区域;

void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
 CFrameWnd::OnSize(nType, cx, cy);
 CRgn m_rgn;
 CRect rect;
 GetWindowRect(&rect);//获取窗口区域
 rect-=rect.TopLeft();//创建圆角矩阵
 m_rgn.CreateRoundRectRgn(rect.left,rect.top,rect.right,rect.bottom,100,100);
 SetWindowRgn(m_rgn,1);


 // TODO: 在此处添加消息处理程序代码
}


TAG:

 

评分:0

我来说两句

Open Toolbar