윈도우의 프레임은 윈도우의 경계를 나타내면서 동시에 손쉽게 윈도우의 크기를 변경할 때도 쓰인다.
이 프레임을 제거하면, 윈도우 경계지점에 마우스 포인터를 위치하고 드래그하며 윈도우 크기를 변경하는것이 불가능해 진다. 그래서 이 부분을 사용자가 직접 구현해 주어야 하는데, 이런 스트레스를 피하기 위해 윈도우 프레임을 그냥 하얗게 칠해버리거나 원하는 모양으로 바꾸어 주는 방법도 있다.
//WM_NCPAINT 메시지 핸들러
void CMainFrame::OnNcPaint()
{
// OnNcPaint()의 Nc는 Non-Client 영역이라는 뜻 이다
CWindowDC dc(this);
CRect rt;
CPen pen;
GetWindowRect(&rt);
rt.NormalizeRect();
rt.OffsetRect(-rt.left, -rt.top);
// 프레임을 대신해서 그릴 선의 모양과 두께와 색
pen.CreatePen(PS_SOLID, 1, RGB(198,198,198));
// 프레임은 흰색으로 색칠한다
dc.FillSolidRect(&rt, RGB(255,255,255)
// 흰색으로 칠해진 프레임에 그림을 그려준다
dc.SelectObject(pen);
dc.Rectangle(&rt);
Invalidate();
// Do not call CDialog::OnNcPaint() for painting messages
}
출처 : http://mhspecial.tistory.com/trackback/54