본문 바로가기
Study/MFC

MFC frame 초기 스타일 지정하기

by 개발새-발 2019. 4. 21.
반응형

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

댓글