Kori 9월 24일, 2021에 포스트됨 공유하기 9월 24일, 2021에 포스트됨 IAN BARKER가 2019년 9월 19일에 포스팅한 High-re DPI and Per Monitor v2 with Delphi and RAD Studio 를 한글로 요약 정리한 글입니다. (원문에는 해당 옵션 설정 화면 이미지 등 보다 자세한 내용이 있습니다) 목차 배경 및 트렌드 마이크로소프트의 대응 델파이에 “Per monitor v2” 가 반영되기 전 버전의 이슈 10.3 리오에서 “Per monitor v2” 반영 보너스: 델파이의 프로젝트 옵션의 Manifest와 관련된 알아둘 만한 옵션들 배경 및 트렌드 컴퓨터에 해상도가 다른 각 모니터를 연결하여 동시에 사용하는 경우가 흔해졌다. 노트북 뿐만 아니라 테블릿에도 외부 모니터를 연결하여 다중 모니터를 사용한다. 마이크로소프트의 대응 “Per monitor v2” 기술을 윈도우 10에서 도입했다. 기능: 사용자가 각 모니터 별로 DPI 확대/축소를 지정할 수 있다. 활용 사례: 노트북에 HighDPI 모니터를 연결하여 사용하는 사용자가 노트북 화면에는 일반 해상도를, 큰 외부 모니터에는 더 높은 해상도를 지정할 수 있다. 이것은 각 픽셀의 폭과 높이 뿐만 아니라 PPI (Pixels Per Inch) 즉 실제 픽셀 밀도와 관련이 있다 델파이에 “Per monitor v2” 가 반영되기 전 버전의 이슈 델파이 10.3 이전 버전에서 만든 앱을 드래그하여 다른 모니터로 옮기면 픽셀 밀도의 변화를 알 수 있다. 화면이 선명하지 않거나, 확대/축소가 이상하게 되거나, 심지어 텍스트가 잘못된 곳에 표시되기도 한다. 그 이유는 96 DPI에서 작동하는 화면에 앱의 좌표가 맞춰져있었는데, 다른 모니터 (120 DPI 등)에서 표현되기 때문이다. 10.3 리오에서 “Per monitor v2” 반영 프로젝트 별로 매니페스드(Manifest)에 반영함으로써, 델파이로 만든 앱이 Per Monitor v2를 다룰 수 있음을 윈도우에게 알려줄 수 있다. 델파이 10.3 리오에서는 메인 메뉴 > project > options 을 선택하여 프로젝트 옵션 설정 화면을 연다. Application | Manifest 를 선택하고, DPI Awareness 에서 Per Monitor v2 를 선택한다. (기본 설정이 Per Monitor v2 이지만 한번 더 확인하는 것이 좋다) 위와 같이, 매니페스트 설정 이외에도, 10.3 리오에서는 화면의 DPI가 변경되면 앱에서 감지할 수 있도록 OnAfterMonitorDpiChanged 라는 새 이벤트가 추가되었다. 보너스: 델파이의 프로젝트 옵션의 Manifest와 관련된 알아둘 만한 옵션들 “Enable Runtime Themes“ 체크 박스 위치: Project > Options 를 열고, Application > Manifest를 선택하면 보이는 화면(11.0 버전에서는, DPI Awareness 옵션 위)에 있다. 설명: 테마를 반영하려면 체크되어 있어야 한다 (체크 즉 활성화된 상태가 기본 설정이다). 이 옵션의 역할은 델파이 7 당시의 TXPManifest 컴포넌트가 했던 역할과 실제로 비슷하다. 즉, 애플리케이션의 매니페스트에 추가 정보를 넣어서 네이티브 콘트롤을 렌더링할 때 특별한 방식으로 수행될 수 있도록 한다. 체크해 둘 것을 권장한다. 스크린 샷 등 보다 자세한 설명 보기 Execution level 선택 박스 위치: DPI Awareness 옵션 아래에 있다. 기능: 앱을 실행하는 윈도우 권한 수준을 조절한다. 선택 옵션은, “as invoker” “as invoker”는 기본 설정이며, 대체로 "as invoker"를 선택하면 무난하다. 해당 앱을 구동한 쉘(Shell) 또는 앱의 권한을 상속한다. 예를 들어, 앱을 실행한 Shell의 권한이 매우 제한적이면, 앱의 권한도 매우 제한적이다. 반대로, 관리자(Administrator) 권한으로 프로세스를 시작했다면, 앱의 권한도 관리자 권한이 적용된다. Highest available*: 가장 높은 권한 Require Administrator*: 관리자 권한 * 일반 사용자가 이 옵션으로 설정된 앱을 실행하려면, 관리자 로그인 비밀번호를 넣어야 실행할 수 있다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.