MFC 창 최소, 최대 크기 정하기


Windows의 창을 조절하는 기능 중에서 최소한 어느정도 이하로는,
초대한 어느정도까지만 확대를 할 수 있도록 하고 싶을때 아래와 같은 방법을
사용하면 된다.

우선 OnGetMinMaxInfo이 함수를 오버라이딩 해야한다.
윈도우 위자드에서 CMainFrame에서 오버라이딩 하면 된다.

단, 다이얼로그에서는 ClassWizard에서 아무리 찾아봐도 WM_GETMINMAXINFO라는
메세지를 찾을 수 없을 것이다.

그 이유는 메세지 필터가 다이얼로그로 되어있기 때문이다.

이는 ClassWizard에서 ClassInfo를 선택해서, Advanced options에 있는
메세지필터를 window로 설정 하고 찾아보면 된다.

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR *lpMMI)
{
// TODO: Add your message handler code here and/or call default
LPMINMAXINFO lpminmax = (LPMINMAXINFO)lpMMI;

//여기서 최소값을 정해주면 그 크기 이하로 줄지 않는다.
lpminmax->ptMinTrackSize.x = 300;
lpminmax->ptMinTrackSize.y = 300;
//여기서 최대값을 정해주면 그 크기 이상으로 커지지 않는다.
lpminmax->ptMaxTrackSize.x = 500;
lpminmax->ptMaxTrackSize.y = 500;

CDialog::OnGetMinMaxInfo(lpMMI);
}


출처 : jytkm2님의 블로그
호수니님의 블로그



Powered by Tattertools