Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

Recommended Posts

<< 위로 이동 (최신 버전 포함 모든 버전)

RAD 스튜디오 10.3 리오 "새 기능 한글 요약본: VCL" 입니다.
모든 새 기능,  강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.3 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다.

10.3 리오 - VCL 관련 주요 업데이트 요약


 

VCL용 새로운 스타일 10종 지원

7563.Windows10BlueWhale.png-640x480.png 3343.Windows10ClearDay.png-640x480.png

새 스타일들을 활용해 애플리케이션 룩앤필을 빠르게 업데이트 할 수 있다. 또한 각 스타일을 원하는 대로 변경하여 사용할 수도 있다. 10.3.1에서는 새 스타일이 총 15개가 추가되었는데, 그 중 5가지는 FMX(파이어몽키)용이고 10가지는 VCL용이다. FMX 스타일은 윈도우, 맥OS, 안드로이드, iOS 모두에서 적용되는 멀티-디바이스 스타일이고, VCL 스타일은 윈도우에서 적용된다. 비트맵 스타일 디자이너 템플릿 또한 포함되어 있다.

새로운 스타일들은 IDE의 겟잇 패키지 매니저(GetIt Package Manager)를 이용해 다운로드 받아 사용할 수 있다.

새롭게 추가된 VCL 스타일들:

 

High DPI 이미지 리스트 지원

HiDPIImageList.png
그림. TImageList를 사용하는 기본 방식 (왼쪽)은 툴바의 이미지는 화면 배율이 커져도 크기가 같다. 하지만, TVirtualImageList와 TImageCollection를 사용 방식 (오른쪽)은 화면에 맞게 알맞은 해상도의 이미지가 사용된다.

10.3 버전부터, VCL 애플리케이션이 High DPI (일명 HiDPI) 화면과 해상도가 다른 여러 화면을 지원할 수 있도록 VCL에 새로 TImageCollection과 TVirtualImageList가 추가되었다.

10.3보다 이전 버전에서는 각 콘트롤과 TImageList가 1:1로 직접 연결되었기 때문에, 단 하나의 고정된 해상도의 이미지만 사용할 수 있어서, High DPI 화면에서 낮은 해상도의 이미지가 늘어나서 흐리게 보이거나, 또는 낮은 해상도의 크기를 유지하느라 이미지만 작게 표현되어야 했다. 하지만, TImageCollection과 TVirtualImageList를 함께 사용하면 이런 1:1 제한이 없어졌다. 즉 이미지 목록에 들어있는 이미지에 다양한 해상도를 미리 넣어두고 화면의 DPI에 따라 알맞은 이미지가 자동으로 사용된다.

TImageCollection

TImageCollection은 전통적인 이미지 리스트를 대체하여 이미지를 모아 두는 곳이다. HIMAGELIST 핸들 등을 제공한다. 따라서 VCL 콘트롤 뿐만 아니라 윈도우 이미지 리스트 API를 호출하는 모든 코드에서 사용할 수 있다. (예: DataModule 등 공통 유닛에 넣어두고 여러 폼에서 사용할 수 있다.  

imagecollection.png
그림. TImageCollection에는 이미지 별로 다양한 해상도의 이미지를 추가/편집/삭제할 수 있다.

주요 메뉴

  • Add 버튼: 탐색기에서 이미지를 선택하여 추가할 수 있다.
  • Size in file name 옵션: True를 선택하면 같은 이미지명에 이미지 크기를 명시하여 같은 이미지를 크기 별로 추가할 수 있다. (아래의 Size Separator 기호 를 기준으로 자동 분류 된다)
  • Size Separator 기호: 지정된 기호의 뒷부분은 크기로 인식하고 앞부분은 이미지명으로 인식한다.

예를 들어, 위 그림에서 선택된 TLable-16의 실제 이름은 TLabel-24이다. 구분자가 "-"로 지정되어 있으므로, 가상의 파일명은 TLabel이고 크기는 24x24이다.

기존의 TImageList에 넣어둔 이미지를 가져오는 방법

TImageCollection에서 컨텍스트 메뉴를 열고 Load Images from TImageList(s)... 를 선택하면, 사용된 모든 TImageList 안에 있는 이미지를 선택하여 가져오거나 병합할 수 있다.
Loadfromexstingtimagelist.png
Loadfromexstingtimagelist2.png

 

TVirtualImageList

TVirtualImageList는 PNG 등 알파 채널 이미지를 지원한다. 예전 방식으로 투명도에 색상 키가 반영된 비트맵을 가져올 수도 있으며, 전통적인 TImageLists를 TImageCollection과 TVirtualImageList 조합으로 마이그레이션하는 도구도 제공된다.

이름대로 가상 이미지의 리스트이며, 사용되는 화면의 DPI에 따라 실제 사용되는 이미지가 결정된다.

virtualimagelist.png
그림. TVirtualImageList 컴포넌트의 ImageCollection 속성을 사용하고자 하는 TImageCollection으로 지정한다.

ImagesProperty.png
그림. 이미지 목록을 사용할 콘트롤의 Images속성을 사용하고자 하는 TVirtualImageList를 지정한다.
(이 그림에서는 ToolBar1이 기존에는 ImageList1을 사용했는데, High DPI를 지원하기 위해 VirtualImageList1 으로 변경하고 있다)

Per Monitor V2 지원

4721.PerMonitorV2Manifest_2D00_Rio.png
RAD 스튜디오 10.3부터 VCL 프로젝트에서 Per Monitor V2 지원이 포함되었다. 그 결과 VCL 애플리케이션은 윈도우의 모든 화면 배율에 맞게 확대/축소 되며, 모니터가 달라져서 해당 DPI 배율이 변하는 경우에 알맞게 대응한다. 이렇게 하려면 Project > Options > Application > Manifest 로 가서 DPI Awareness 항목에서 Per Monitor V2를 선택한다.


View full RAD 스튜디오 버전별 신기능

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.