저장소/VC++
[MFC] MainFrame 크기 고정
MindGear
2011. 10. 21. 13:50
최초 실행시 MainFrame의 크기를 정하기 위해서는 PreCreateWindow를 재정의하여 다음과 같이 해주면 된다.
MainFrame의 크기를 고정하기 위해서는 WM_GETMINMAXINFO 메시지를 다음과 같이 처리해주면 된다.
이와 같이 처리하면 MainFrame의 크기를 변경할 수 없게 된다.
크기 변경 불가, 최대화 버튼 비활성화를 처리하기 위해서는 PreCreateWindow에서 style을 다음과 같이 변경해주면 된다.
cs.style &= ~FWS_MAXMIZEBOX; cs.style &= ~FWS_THICKFRAME;
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWndEx::PreCreateWindow(cs) ) return FALSE; cs.cx = 1024; cs.cy = 768; ... }
MainFrame의 크기를 고정하기 위해서는 WM_GETMINMAXINFO 메시지를 다음과 같이 처리해주면 된다.
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) { lpMMI->ptMinTrackSize.x = 1024; lpMMI->ptMinTrackSize.y = 768; lpMMI->ptMaxTrackSize.x = 1024; lpMMI->ptMaxTrackSize.Y = 768; CFrameWndEx::OnGetMinMaxInfo(lpMMI); }
이와 같이 처리하면 MainFrame의 크기를 변경할 수 없게 된다.
크기 변경 불가, 최대화 버튼 비활성화를 처리하기 위해서는 PreCreateWindow에서 style을 다음과 같이 변경해주면 된다.
cs.style &= ~FWS_MAXMIZEBOX; cs.style &= ~FWS_THICKFRAME;