자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15804
공지 유용한 관련 사이트 관리자2 2014.03.20 54605
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98046
679 DBGrid 질문드립니다. [2] 초보델팡이 2019.05.23 426
678 TStringGrid를 불러다가 Column x Row를 100 x 100으로 만들려고 하는데 안만들어 집니다. [3] 험프리 2019.05.24 389
677 안드로이드 64 Bit 컴파일위한 SDK 설정 어떻게 하나요? [4] 해신여화 2019.05.26 579
676 64비트 플랫폼으로 개발 중입니다. [2] file ip7203 2019.05.27 2318
675 delphi 2007 사용자입니다. tms webgmaps 컴포넌트 설치 문의 0슝아빠0 2019.05.27 252
674 ERR_CLEARTEXT_NOT_PERMITTED 에러... [1] 이재홍 2019.05.27 626
673 문의 드립니다 [3] 투덜이스머프투 2019.05.28 140
672 (안드로이드)질문드립니다. [2] file 힘을내요슈퍼파워 2019.05.29 226
671 DBGrid에 이미지 넣기 질문입니다. 초보델팡이 2019.05.29 284
670 업데이트 서브스크립션 구입방법? [1] 100jk 2019.05.29 127
669 화면을 엑셀과 유사하게 꾸밀수 있는 서드파티 컨트롤 추천 부탁 드립니다 [1] pisama 2019.05.30 240
668 GPS 위치 정보로 구글 지도 연동 [1] file 무허 2019.05.30 444
667 no matching member function for call to 'LoadFromFile' 문의드립니다. [2] ip7203 2019.05.30 374
666 메뉴나 에러메시지 한글 / 영문 선택 ... [2] 초보델팡이 2019.05.31 247
665 어떤 때 Form 추가가 안나타날 수 있죠? [3] file 거북선생 2019.06.02 267
664 델파이10.2에서 10.3.1로 업했는데 기존문제없던 쿼리관련해서 에러가 납니다. [4] 왕초보 2019.06.03 411
663 unable to start gdbserver on port '64311' can't open socket: permission denied delphi 2019.06.04 649
662 (안드로이드)질문드립니다. [2] 힘을내요슈퍼파워 2019.06.05 272
661 Form BorderStyle:=bsNone 일때 화면 깜박임 softkim 2019.06.09 358
660 android 64비트를 알아내는법? [2] 100jk 2019.06.09 195