不规则窗口的实现
上一篇 /
下一篇 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: