728x90
안녕하세요!
이번 글에서는 OnGetMinMaxInfo함수에 대해 알아보겠습니다.
OnGetMinMaxInfo 함수는 MFC에서 윈도우의 최소 및 최대 크기를 제한하는 함수로, 윈도우 크기 조정에 관련된 작업을 수행합니다.
이 함수를 재정의하여 윈도우의 크기를 제한하거나 특정 제약 조건을 적용할 수 있습니다.
OnGetMinMaxInfo 함수의 역할
- 윈도우의 최소 및 최대 크기를 제한합니다.
- WM_GETMINMAXINFO 메시지를 처리하여 윈도우의 크기 조정에 대한 제약 조건을 설정합니다.
- 최소 및 최대 윈도우 크기, 최소 및 최대 추천 윈도우 위치 등을 설정할 수 있습니다.
- 최대화 또는 최소화 작업 시 윈도우의 크기와 위치를 제어할 수 있습니다.
예제 코드
void CMFCTESTDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
// 최소 윈도우 크기 설정
lpMMI->ptMinTrackSize.x = 300; // 최소 폭
lpMMI->ptMinTrackSize.y = 200; // 최소 높이
// 최대 윈도우 크기 설정
lpMMI->ptMaxTrackSize.x = 800; // 최대 폭
lpMMI->ptMaxTrackSize.y = 600; // 최대 높이
CDialogEx::OnGetMinMaxInfo(lpMMI);
}
- 최소 윈도우 크기를 설정하기 위해 lpMMI->ptMinTrackSize.x와 pInfo->ptMinTrackSize.y에 값을 할당합니다.
- (최소 폭 300, 최소 높이 200)
- 최대 윈도우 크기를 설정하기 위해 lpMMI->ptMaxTrackSize.x와 pInfo->ptMaxTrackSize.y에 값을 할당합니다.
- (최대 폭 800, 최대 높이 600)
- 이 예제를 실행하면 OnGetMinMaxInfo 함수가 호출될 때, 윈도우의 최소 및 최대 크기가 설정된 값으로 제한됩니다.
- 사용자가 마우스를 이용하여 윈도우를 크기 조정할 때 최소 및 최대 크기 제한이 적용되어 윈도우의 크기가 지정된 범위 내에서만 조정됩니다.
이번 글에서는 OnGetMinMaxInfo 함수의 역할과 함께 윈도우 크기 제한 예제를 다루어 보았습니다.
특정 프로그램 개발 시 컨트롤 배치 등의 문제로 다이얼로그의 최소크기를 제한하고 싶다면 해당 함수를 이용하여 제어해 주시면 되겠습니다.
감사합니다!
728x90
'[C++] > MFC 프로그래밍' 카테고리의 다른 글
[C++] MFC 프로그래밍 : DoDataExchange (28) | 2023.10.12 |
---|---|
[C++] MFC 프로그래밍 : 문자열 리스트 (28) | 2023.09.20 |
[C++] MFC 프로그래밍 : OnPaint 함수 (30) | 2023.06.19 |
[C++] MFC 프로그래밍 : ESC/Enter 종료 방지 (21) | 2023.06.19 |
[C++] MFC 프로그래밍 : PreTranslateMessage (36) | 2023.06.18 |