[MFC] MainFrame 크기 고정
저장소/VC++최초 실행시 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;
'저장소 > VC++' 카테고리의 다른 글
| [Win32 API] GetAsyncKeyState (0) | 2011.11.25 |
|---|---|
| [MFC] DestroyWindow (0) | 2011.11.24 |
| [Win32 API] Window Styles (0) | 2011.10.10 |
| [MFC] CFileDialog 사용 주의점 (0) | 2011.09.23 |
| [Error/Warnning] error LNK2005 (0) | 2011.08.16 |