본문 바로가기
프로그래밍/MFC (C++)

MFC ] 윈도우 크기 조절 또는 고정하기, 최소/최대 사이즈 지정

by eteo 2022. 8. 28.

 

 

1. WM_GETMINMAXINFO 메시지 처리기 함수를 추가한다.

 

속성 - 메시지 - WM_GETMINMAXINFO 를 찾아서 Add

 

 

혹은

 

프로젝트 - 클래스 마법사

 

 

 

 

 

 

2. OnGetMinMaxInfo 함수 안에서 전달된 파라미러 lpMMI를 사용해 창의 min / max 값을 설정한다.

 

 

void CdeltaControlDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
	//lpMMI->ptMinTrackSize.x = 1200;
	//lpMMI->ptMinTrackSize.y = 800;
	lpMMI->ptMinTrackSize = CPoint(1200, 800);
	lpMMI->ptMaxTrackSize = CPoint(1400, 1000);
    
	CDialogEx::OnGetMinMaxInfo(lpMMI);
}

 

min값만 설정해도 되고 max 값만 설정해도 된다. x(width), y(height) 값을 따로 대입해줘도 되는데 위에서는 CPoint 클래스를 사용하였다.

혹은 사용자가 창 크기를 조절하지 못하게 하려면 min, max를 똑같이 설정하면 된다.

 

 

 

만약 얼마로 설정해야할 지 감이 안잡힌다면 OnInitDialog() 함수 안에서 아래와 같이 GetWindowRect() 함수로 현재의 창 크기를 확인해 볼 수 있다.

 

	CRect m_rectCurHist;
	this->GetWindowRect(m_rectCurHist);