※ 요약

윈도우의 WM_GETMINMAXINFO 메시지에 대한 포스트다. 이 메시지는 윈도우의 크기나 위치가 변경되었을때 발생하며 보통 윈도우의 최소, 최대 크기를 지정하여 프로그램이 너무 작거나 너무 크게 변경할 수 없도록 해야할때 사용한다. 예제로 만든 프로젝트는 다이얼로그 기반이지만, SDI, MDI 등에서도 적용가능하다.


※ 설명

아래 MFC 프로젝트는 GetMinMaxInfo 설명을 위해 다이얼로그 기반으로 만든 순수 MFC 예제다. 먼저 "클래스 뷰"탭으로 이동하여 다이얼로그 클래스에 마우스 우클릭을 하여 팝업된 메뉴에서 "속성" 항목을 선택한다. (만약 SDI나 MDI 프로젝트일 경우엔 CMainFrame 클래스에 하면 된다.)


메시지 항목을 선택한 후 WM_GETMINMAXINFO 항목을 찾아 Add 해준다.


그럼 아래와 같이 소스코드가 추가되는데, 이곳에 최소/최대 사이즈를 지정해주면 된다.



예제를 위해 임의의 값을 넣어봤다. 아래 예제는 min값과 max값을 모두 넣었는데, 값을 넣을때는 min값만 넣어도 되고, max 값만 넣어도 된다. 필자는 보통 min 값만 넣는 편이다.


컴파일/실행 후 사이즈를 최소로 해본 화면이다. 더 이상 작게 변경할 수 없다.


아래는 최대 사이즈로 된 화면인데, 마찬가지로 더 크게 변경할 수 없다. 


+ Recent posts