반응형

 

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 윈도우 크기 및 위치 변경

 


감사합니다.

 

잘못된 정보나 오타 및 수정사항이 있을 경우 댓글로 달아주시면 감사하겠습니다. 

 


 

반응형

+ Recent posts