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
반응형
'Application > MFC' 카테고리의 다른 글
| [MFC] 코드에서 Menu caption(string, text) 변경 (0) | 2025.02.07 |
|---|---|
| [MFC] 파일 생성 (CreateFile) (0) | 2024.11.24 |
| [MFC] 스피커 설정 (Mute, Volume Up / Down) (0) | 2024.11.21 |
| [MFC] 다중 NIC 중 특정 NIC로 Socket Connect (0) | 2024.11.18 |
| [MFC] 통신 프로그램 기초 (Socket 함수 사용) (0) | 2024.11.16 |