把主框架窗口设置为圆角矩形,并改变外围边框颜色
最近需要把主框架窗口设置为圆角矩形,并且替换掉边框颜色。程序中已经隐藏掉标题栏,菜单栏,工具栏,因此边框不是蓝色,而是系统颜色。
改变外围边框颜色是在void CMainFrame::OnNcPaint()中进行绘制边框即可。设置主框架窗口为圆角矩形在
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIFrameWnd::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
// 销毁旧区域
m_rgn.DeleteObject();
// 根据新的窗口大小创建圆角矩形区
CRect rc; // 圆角矩形
GetWindowRect(&rc); // 屏幕坐标中的矩形
rc -= rc.TopLeft(); // 转换为窗口坐标: 左上角 = (0,0)
m_rgn.CreateRoundRectRgn(rc.left,rc.top,rc.right,rc.bottom,
5,5); // 50 pixel 角的圆角矩形
SetWindowRgn(m_rgn,TRUE); // 设置窗口区为圆角窗口
}
进行修改即可。
补充:软件开发 , C++ ,