자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Q, 

윈도우즈의 디스플레이 설정에서 "텍스트, 앱 및 기타 항목의 크기 변경"을 100% 이외의 값으로 설정 한 경우

컨트롤(폼 및 UI 컨트롤)의 크기 또는 위치를 수동으로 지정한 경우 작게 표시되거나 위쪽/왼쪽에 표시됩니다.

 

방법이 있을까요?

 

highdpi_windows_setting.png

 

A, 

RAD Studio 10 Seatle 버전 부터 HighDPI를 지원합니다.

 

폼 및 컨트롤의 속성(Left, Top, Width, Height 등)을 화면 비율에 맞게 재조정 해 줍니다.

 

하지만 수동으로 폼의 크기 또는 컨트롤의 위치를 조정하는 경우는 비율에 맞게 재조정되지 않습니다.

 

아래 화면은 비율을 125%로 설정 후

왼쪽의 에디트는 속성을 이용해 Top을 100으로

오른쪽은 코드를 이용해 Top을 100으로 설정한 결과입니다.

속성을 이용하는 경우 비율에 맞게 100 * 125%로 자동 계산됩니다.

highdpi_test.png

 

만약, 코드에서 위와 같이 비율에 맞게 조정하기 위해서는 아래 코드를 참고하시기 바랍니다.

 

    Edit1.Top := MulDiv(100, GetCurrentPPIScreen, GetDesignDpi);                                        // Form 등에서 구현된 코드
또는
    Edit1.Top := MulDiv(100, Screen.PixelsPerInch, Application.MainForm.PixelsPerInch);     // 클래스 등에 구현된 코드
 
2개 코드 중 실행되는 코드를 이용하시기 바랍니다.
MulDiv 함수는 WinAPI.Windows 유닛에 정의되어 있습니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 20072
공지 유용한 관련 사이트 관리자2 2014.03.20 58977
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102605
2019 sendMultimediaMessage 사용방법은?? [1] kerry 2017.12.14 590
» 디스플레이 설정에서 항목 크기 변경(HighDPI 적용) 후 컨트롤 크기 및 위치를 수동 지정 시 올바르게 표시되지 않습니다. file 험프리 2017.12.14 1478
2017 [마이그레이션] MaxLength 속성이 이전버전(2007 이전)에서는 한글이 2였는데... file 험프리 2017.12.14 476
2016 cport 질문드려요! 신종훈 2017.12.13 236
2015 모바일에서 메일전송시 ssl negotiation failed 메세지?? [1] kerry 2017.12.08 354
2014 intent 이용 sms,mms 보낼때 이미지 파일및 동영상파일 첨부는?? 고견을 부탁드립니다. 답변 0 [1] kerry 2017.12.12 1108
2013 델파이 도쿄10.2.1 에서 개발한 앱을 ios Enterprise program형태로 배포 [1] 밤바야 2017.12.11 169
2012 XE10 시애틀에서는 문제가 없는 소스가 10.2에서 컴파일 후 segment falut 11이 발생해요~ [1] file 소란코더 2017.12.12 153
2011 파이어몽키 mms 장문문자+이미지파일및 첨부파일 전송?? [1] kerry 2017.12.07 696
2010 Datasnap 오류 문의 [1] 파란하늘 2017.12.07 238
2009 적외선 리모컨 앱을 만들고 싶습니다 [1] 박군80 2017.09.21 633
2008 [안드로이드]LocationSensor의 Accuracy / Distance 에 대한 문의 [1] 소란코더 2017.12.04 274
2007 CPort baudrate 질문드려요 [1] 신종훈 2017.12.04 360
2006 안드로이드 Runtime.getRuntime().exec 커멘드처럼 할려면 어떻게 해야하나요? [1] 소란코더 2017.12.04 1907
2005 TMediaPlayer 위의 텍스트 구현 문제 [1] 소란코더 2017.12.01 166
2004 (델파이xe8) 중국어 데이타베이스 등록시 깨짐 발생 [1] 라일락 2017.12.01 409
2003 광고영상 재생 프로그램 강제 종료 오류 관련 문의 [2] file 소란코더 2017.11.24 362
2002 XML 호출해서 사용하는 프로그램인데 윈도우플랫폼에서는 잘되는데 안드로이드 플랫폼에서 오류남 [5] SHWOO 2017.11.17 558
2001 class tlineseries not found [1] rrraggg 2017.11.30 161
2000 RAD 스튜디오질문있습니다. [1] JK 2017.11.28 140