Application/MFC

[MFC] 프로젝트 속성에서 DPI 인식 설정하는 방법

devsalix 2026. 2. 24. 06:21
728x90

MFC에서는 매니페스트 파일을 직접 수정하지 않아도
Visual Studio의 프로젝트 속성 페이지에서 DPI 인식 여부를 설정할 수 있다.

설정 경로

프로젝트 속성
 → 구성 속성
   → 매니페스트 도구
     → 입력 및 출력
       → DPI 인식 사용

 

여기서 아니요로 설정하면
해당 MFC 프로그램은 DPI 미인식 애플리케이션으로 동작한다.


DPI 인식 사용 = 아니요의 의미

이 설정을 아니요로 두면 다음과 같은 특징을 갖는다.

  • 애플리케이션은 96 DPI 기준 UI로 동작
  • 고해상도 환경에서는
    Windows가 자동으로 UI를 스케일링
  • UI는 깨지지 않지만 흐릿해질 수 있음
  • 기존 레거시 MFC 프로젝트와 동작 호환성이 높음

👉 즉,
“UI 틀어짐은 피하고 싶고, DPI 대응까지는 아직 부담되는 경우”에
임시 대응으로 많이 사용하는 설정이다.


이 설정의 한계

DPI 인식 사용 = 아니요는 근본적인 해결책은 아니다.

  • 텍스트 및 컨트롤이 뿌옇게 보임
  • 최신 고해상도 환경에서 사용자 경험 저하
  • Per-Monitor DPI 환경 대응 불가

특히
Microsoft가 권장하는 최신 DPI 정책과는
점점 멀어지는 방식이다.


언제 이 설정을 쓰는 게 적절한가?

✔ 적합한 경우

  • 기존 MFC 레거시 유지보수
  • UI 수정 여력이 없는 상황
  • 빠른 릴리즈가 필요한 경우

❌ 부적합한 경우

  • 신규 MFC 프로젝트
  • 장기 유지보수 제품
  • 다중 모니터 / 고해상도 대응 필수 환경

정리

MFC에서는
프로젝트 속성만으로도 DPI 인식 여부를 제어할 수 있다.

하지만
DPI 인식 사용 = 아니요는
👉 “문제를 숨기는 설정”에 가깝고,

장기적으로는

  • Per-Monitor DPI 인식 활성화
  • 컨트롤/폰트 스케일링 대응
    이 필수다.


728x90
반응형