지금은 UI 프로그램을 하고 있지는 않지만 Window 7이 나오면서 어쩌면 HI DPI Mode를 많이 쓰게 되지 않을까 하는 생각이 들더군요. 그래서 찾아 보니 MSDN에 Writing Guide가 잘 정리 되어 있었습니다. 물론 엄청난 UI 노가다를 요구하는 내용이지만 말이죠.
Writing High-DPI Win32 Applications
http://msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx
내용을 간단히 말하면 DPI 값과 Screen Resolution 값을 통해서 폰트와 컨트롤들의 크기를 일일이 설정해줘야 한다는 내용입니다.
기존에 잘 쓰고 있더는 사이즈의 프로그램을 HI DPI를 지원하도록 바꿀려면 개발자분들이 정말 많은 노가다를 해야할꺼라 생각이 됩니다. ( 라이브러리화 되지 않은 환경에서 이 작업을 한다는건 거의 퇴사하라는 얘기와 다름 없겠죠 )
Declaring Managed Applications As DPI-Aware
: http://msdn.microsoft.com/en-us/library/ee308410(VS.85).aspx
: http://msdn.microsoft.com/en-us/library/ms633543(VS.85).aspx
: http://msdn.microsoft.com/en-us/library/ms701681(VS.85).aspx
그 아래쪽 내용을 보니 재미 있는것이 있더군요 Manifest를 수정해서 DPI모드를 적용 받지 않도록 하는 방법이더군요. ( 천만 다행이라 생각합니다. )
그래서 간단히 MFC Application에 해당 Manifest를 적용하고 HI DPI 모드에서 실행해 보았습니다.
HI DPI 모드에서 DPI-Aware 가 적용된 Application( Source Code )
HI DPI 모드가 적용되어 있다고 하더라도 원래의 크기 사이즈로 Application이 동작하더군요. !! 하지만 역시 캡션 및 테두리 부분은 그대로 HI DPI 모드가 적용되서 어색해 보이는 군요.
혹시나 HI DPI 모드가 고민이신 분들은 참고하시기 바랍니다.

최근 답글