본문 바로가기
C & C++/MFC 컨트롤

창의 최소화/최대화 크기 제한

by izen8 2011. 10. 31.
반응형

창의 최소화/최대화 크기 제한

창의 최대화 버튼을 눌렀을 때 크기를 지정한다.

WM_GETMINMAXINFO(OnGetMinMaxInfo) 메시지 핸들러 추가한다.

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{

    lpMMI->ptMinTrackSize.x = 300;     // 최소화 크기를 300으로 제한
    lpMMI->ptMinTrackSize.y = 300;     // 쵀소화 크기를 300으로 제한

    lpMMI->ptMaxTrackSize.x = 600;     // 최대화 크기를 600으로 제한
    lpMMI->ptMaxTrackSize.y = 600;     // 쵀대화 크기를 600으로 제한

    CFrameWnd::OnGetMinMaxInfo(lpMMI);
}

///////////////////////////////////////////////////////////////////////////////////////////

다이얼로그  resize 시 최소 크기 고정
다이얼로그의 크기를 변경가능하도록(resize)했을때 크기를 작게 줄이게 되면 다이얼로그에 배치된 기본  UI의 모양이 망가지게 된다. 이를 방지하기 위해 다이얼로그가 특정크기 이하로는 변경이 되지 않도록 최소 크기를 고정해 둔다.

void CNCCView::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
 CFormView::OnWindowPosChanging(lpwndpos);
 
 if(lpwndpos->cx <= 1600) lpwndpos->cx = 1600;
 if(lpwndpos->cy <= 1000) lpwndpos->cy = 1000;

}

반응형

댓글