frame의 PreCreateWindow에서 스타일을 지정해주면 된다.
BOOL CFrameWnd::PreCreateWindow(CREATESTRUCT& cs) 가 본체이며,
만약 CFrameWnd 를 상속하여 만든 frame이 CMainFrame라면
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 에서 cs.style을 건드려 주어야 한다.
만약, 프레임을 마우스로 크기조절되는것을 막고싶다면, WS_THICKFRAME 을 제거해주어야한다. 제거는 not, and연산으로 해준다.
cs.style &= ~(WS_THICKFRAME);
로 할 수 있다.
만약 창에서 최소화, 최대화 박스도 같이 없애버리고싶다면 다음과같이 해주면 된다.
cs.style &= ~(WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX);
여기서, 다시 최소화 박스속성을 부여하고 싶으면 or연산을 해주면 된다.
cs.style |= WS_MINIMIZEBOX;
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// other codes above
cs.style &= ~(WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX); //style removed
cs.style |= WS_MINIMIZEBOX; //style added
// other codes below
return TRUE;
}
다른 스타일 속성들 : https://docs.microsoft.com/en-us/windows/desktop/winmsg/window-styles
'Study > MFC' 카테고리의 다른 글
MFC 꺾은선 그리기 (0) | 2019.04.21 |
---|
댓글