반응형
MFC 윈도우나 다이얼로그를 모니터 화면에 원하는 위치로 지정하여 나타낼 수 있습니다.
# 개발 환경
운영체제 : Windows 10 Pro 64bit
개발도구 : Visual Studio 2013 Professional
# 결과
- 2560x1440 모니터에서 MFC 윈도우를 중앙 위치에 나타남
# 예제 소스
- OnInitDialog(void)
BOOL CMFCApplication2013Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
CRect rect;
GetClientRect(&rect);
CPoint pos;
pos.x = GetSystemMetrics(SM_CXSCREEN)/2.0f - rect.Width()/2.0f;
pos.y = GetSystemMetrics(SM_CYSCREEN)/2.0f - rect.Height()/2.0f;
SetWindowPos(NULL, pos.x, pos.y, 0, 0, SWP_NOSIZE);
return TRUE;
}
- GetClientRect( ) 은 모니터 화면에서 MFC 윈도우의 좌표 정보를 알 수 있음.
- GetSystemMetrics(SM_CXSCREEN) 은 모니터 해상도 x축(pixel) 크기 반환
- GetSystemMetrics(SM_CYSCREEN) 은 모니터 해상도 y축(pixel) 크기 반환
- 모니터 해상도 x, y축 중앙 좌표에 MFC 윈도우의 중앙 좌표를 위치하도록 함. (pos.x / pos.y)
- SetWindowPos( ) 은 MFC 윈도우 크기 및 위치 변경
감사합니다.
잘못된 정보나 오타 및 수정사항이 있을 경우 댓글로 달아주시면 감사하겠습니다.
반응형
'GUI > C++ MFC' 카테고리의 다른 글
[C++/MFC] UI 컨트롤 ID 포커스 설정하기 (0) | 2022.03.20 |
---|---|
[C++/MFC] 키보드로 선택한 UI컨트롤 타입 확인하기(GetWindowLong) (0) | 2022.03.19 |
[C++/MFC] 키보드 키 조합 입력 이벤트 처리(PreTranslateMessage) (0) | 2022.03.15 |
[C++/MFC] 마우스, 키보드 입력 이벤트 호출하기(PreTranslateMessage) (0) | 2022.03.12 |
[C++/MFC] Visual Studio MFC 프로젝트 만들기 (5 step) (0) | 2022.03.03 |