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

이 사이트 검색

검색 태그: 'vcl'.

  • 태그로 검색

    태그 사이를 쉼표(,)로 구분하세요.
  • 작성자로 검색

콘텐츠 유형


게시판

  • 엠바카데로 (Embarcadero) 개발도구: 델파이 (Delphi), C++빌더 (C++Builder), RAD 스튜디오 (RAD Studio)
    • [기술 Q&A 게시판] 델파이, C++빌더, RAD 스튜디오
    • [설치/등록 Q&A 게시판] 델파이, C++빌더, RAD 스튜디오
    • [기술 기고 게시판] 델파이, C++빌더, RAD 스튜디오
    • [포트폴리오 게시판] 내가 참여한 프로젝트/프로그램 소개
    • [구인 게시판] 개발자 채용/프로젝트 의뢰
  • 엠바카데로 (Embarcadero) DBMS: 인터베이스 (InterBase)
    • [기술 Q&A 게시판] 인터베이스
    • [설치/등록 Q&A 게시판] 인터베이스
    • [기술 기고 게시판] 인터베이스
  • 비주얼 스튜디오 (Visual Studio) 관련 도구
    • [기술 Q&A 게시판] 비주얼 어시스트
    • [설치/등록 Q&A 게시판] 비주얼 어시스트
    • [기술 기고 게시판] 비주얼 어시스트
  • 구록 (Gurock) 테스트도구: 테스트레일 (TestRail)
    • [기술 Q&A 게시판] 테스트레일
    • [설치/등록 Q&A 게시판] 테스트레일
    • [기술 기고 게시판] 테스트레일
  • 아이데라 (Idera) 데이터 도구: 아쿠아 데이터 스튜디오 (Aqua Data Studio), ER/Studio 등
    • ER스튜디오 (ER/Studio)
    • 아쿠아 데이터 스튜디오 (Aqua Data Studio)
  • API레이어 (Apilayer) 개발 도구: API레이어 (Apilayer)
    • [Q&A 게시판] API레이어 (Apilayer)
  • 이 사이트 이용 관련
    • [게시판] 이 사이트 관련 이용 팁과 Q&A

Categories

  • 이달의 기술자료: 엠바카데로
  • 비디오 세미나
    • UX Summit
    • DelphiCon
    • CodeRage
    • 데브기어 세미나
  • 기술백서(PDF)

Categories

  • 시작하기
  • 설치/등록/라이선스
  • 튜토리얼
  • 도서

Categories

  • RAD 스튜디오 역사관
  • 11.0 알렉산드리아
  • 10.4 시드니
  • 10.3 리오
  • 10.2 도쿄
  • 10.1 베를린
  • 10.0 시애틀
  • XE8~XE
  • 2010~6.0

...에서 결과 찾기

검색어 일치 조건


최초 작성일

  • Start

    End


최종 변경일

  • Start

    End


개수로 필터링...

가입

  • Start

    End


Group


자주 쓰는 도구

  1. 데이비드 밀링턴 (David Millington) 의 Windows 10 and Modern High DPI Display Support in Delphi and C++Builder 를 번역했습니다. (원문 작성 시기: 2019년 9월) 요즘 화면은 크기와 해상도가 몇년 전에 비해 크게 높아졌다. 지금 이 글을 작성하고 있는 맥북에는 1920x1080 24인치 외부 모니터가 연결되어 있고 이 맥북 프로의 화면은 2880x1800 15인치 레티나이다. 세로를 기준으로 비교하면, 외부 모니터 화면은 맥북의 레티나 화면에 비해 한줄에 들어있는 픽셀수는 3분의 2밖에 되지 않지만, 길이는 1.25배 더 크다. 따라서 인치당 픽셀의 수는 크게 차이난다. 외부 모니터는 인치당 90 픽셀이고, 맥푹 프로는 인치당 227픽셀이다. 거의 2.5배 정도(정확히는 2.44배) 차이가 난다. 이런 차이와 관련하여 High DPI라는 용어가 널리 사용된다. DPI는 'Dots per inch' 즉 '인치 당 점의 갯수'이다. 이 용어는 인쇄 분야에서 사용되던 점(Dot)과 모니터에서 사용되던 픽셀(Pixel)간에 다소 혼란스러운 바가 있긴하다. 고해상도 열풍은 애플이 주도했다. 2010년 아이폰4에서 처음으로 '레티나' 디스플레이를 적용하기 시작했고 이어서, 2012년에 맥북 프로 라인에 적용했다. 그러나 더 높은 해상도 즉 물리적으로 크기가 같은 영역에 더 많은 픽셀이 들어가는 화면으로 인해 문제가 생겼다. 특히 윈도우의 경우, 전통적으로 UI 레이아웃은 실제 물리적인 화면의 길이가 아니라 픽셀 단위로 계산한다. 툴바에 있는 아이콘은 항상 16 x 16 픽셀이 기본 크기이고, 버튼의 표준 크기는 너비가 75 픽셀이고 높이가 25 픽셀이었다 (델파이가 아닌 일부 다른 개발 도구로 만든 UI 애플리케이션에서는 24 픽셀). 하지만 화면 해상도가 높아짐에 따라, 픽셀 하나의 크기가 현격하게 작아지게 된다. 툴바의 아이콘이 지금 내 외장 모니터에서는 실제로 0.44cm인데, 내 맥북 프로에서는 0.17cm 이다. 이 문제를 해결하기 위해 윈도우 7에서 High DPI 지원을 시작했지만, 완전하고 견고하게 이 문제를 해소한 것은 윈도우 10 크리에이터 업데이트에서 도입된 'perMonitorV2' High DPI 지원이다. (버전2 라는 이름을 통해서 우리는 윈도우에서 High DPI를 지원하는 과정이 상당히 복잡하고, 선택지가 많고, 이슈 해소를 위해 반복을 통해 발전함을 알 수 있다.) 윈도우 10에서 perMonitorV2 고해상도를 지원하는 애플리케이션은 각 화면이 표현되는 화면의 해상도에 따라 동적으로 창의 크기를 맞출 수 있다. 즉 내 외장 모니터에 있던 앱을 드래그하여 맥북의 모니터로 옮기면 (비 클라이언트 영역, 테마 렌더링 등등을 포함하여) 창의 배율이 모니터에 맞게 조정어서 물리적인 크기를 잘 유지한다. 앱의 여러 창들이 각각 다른 모니터에서 표현될 때도 마찬가지이다. 2018년 11월부터 델파이와 C++빌더는 10.3 버전을 통해에서 (윈도우 UI 프레임워크인) VCL에 High DPI 지원을 시작했다. 그 이후로도 지속적인업데이트들을 통해 실제로 많은 개발자들이 VCL 고해상도 지원 기능을 잘 활용하고 만족하고 있다. VCL 스타일 (테마)과 IDE 자체에 대한 High DPI 지원 계획도 로드맵에 있다. (2019년 9월) 현재는 VCL에서만 High DPI를 지원하고 있다. 이미지 VCL의 High DPI 지원은 자동 방식이다. Project > Options > Manifest page 에서 ‘DPI Awareness’ 옵션을 지정하기만 하면 모든 UI 컨트롤의 크기와 위치가 알맞게 반영된다. 컨트롤이 화면에 표현되는 방식은 (선이나 테두리 등) 모양을 직접 그리기 또는 윈도우 테마 (윈도우 10에서는 High DPI도 지원)를 통해서 그리기 중 하나이기 때문에 앱과 해당 컨트롤들은 정확히 동일하게 표현된다. 단지 선명도가 모니터에 따라 살짝 차이가 날 뿐이다. 단 한 가지 예외가 있는데... 바로 이미지이다. 대표적으로 툴 바의 아이콘을 들 수 있다. 윈도우는 이미지를 이미지 리스트에 저장하는데, 이미지 리스트는 크기가 하나인 이미지들이 모여있는 곳이다. 이제 문제가 무엇인지 눈치챘을 수도 있겠지만, High DPI 화면에서 툴바 버튼 컨트롤은 기본 픽셀 크기의 2.5 배까지 커지지만, 이미지 리스트에 있는 버튼의 이미지는 알맞게 대응할 수 없으므로 16x16 이미지가 40x40으로 늘어가기 때문에 뿌옇게 표현된다. 16x16 픽셀 아이콘 동일한 16x16 아이콘이 2.5 배(40x40)로 늘어나서 표현된 모습 대부분의 High DPI 애플리케이션들이 이렇게 표시한다. 선명하게 40x40으로 표현된 모습 델파이와 C++빌더가 사용하는 방식 델파이와 C++빌더 기술이 놀라운 기술이 여기에 들어 있다. High DPI VCL 지원을 RAD스튜디오 10.3에 담아 출시할 때, 엠바카데로는 윈도우 자체의 High DPI perMonitorv2만 지원한 것이 아니라 더 나아가 이미지 확대/축소 문제를 해소했다. 이 문제는 윈도우 이미지 리스트와 관련되어 있으며 윈도우 스스로 아직까지 해결하지 못한 문제이다. 우리는 가상의 이미지 리스트를 도입하여 High DPI를 담고, 어떤 DPI 또는 화면 배율에도 선명한 이미지를 표현하도록 했다. 가상 이미지 리스트는 (HIMAGELIST 핸들이 있는) 윈도우 이미지 리스트 등 기존의 TImageList와의 하위 호환성을 완벽하게 지키면서도 확대/축소를 반영한다. 우리 개발 도구의 가치를 알 수 있는 좋은 사례이다. 우리 프레임워크를 사용하지 않고 이렇게 구현하려면 개발자가 엄청난 수작업을 해야할 것이다. VCL의 High DPI 이미지 리스트 컴포넌트에 대한 자세한 내용을 확인해보자.
  2. 마르코 칸투 (Marco Cantu)가 작성한 VCL Per-Control Styles – New in RAD Studio 10.4 를 번역했습니다. 10.4부터 VCL 라이브러리는 하나의 애플리케이션 안에서 여러 가지 스타일을 적용할 수 있다. 다시 말해서, 폼 마다 다른 스타일을 적용할 수도 있고, 폼 안에서 각 컨트롤마다 또 다른 스타일을 적용할 수도 있다. 또한 (폼, 컨트롤 등) 화면 요소가 스타일을 사용하는 것이든 '윈도우 기본’ 테마를 사용하는 것이든, 관계없이 서로 섞어서 쓸 수도 있다. (예전에는 VCL 애플리케이션에서 스타일을 오직 하나만 지정할 수 있어서, 스타일을 애플리케이션 전체에 적용하거나 아니면 아예 적용하지 못했었다). 이것은 TControl 클래스에 StyleName 속성을 추가한 결과이다. 모든 컨트롤에는 StyleName 속성이 있다. 이 StyleName 속성에는 스타일명을 지정할 수 있는데, 지정할 수 있는 스타일이 목록으로 제공되므로 그 중 하나를 선택할 수도 있다. 이 목록에 표시되는 스타일들은 프로젝트 옵션에서 애플리케이션이 로드하도록 선택한 스타일들이다. 컨트롤의 StyleName 속성의 값이 공백이면 부모 컨트롤(컨테이너)의 스타일이 적용된다. 이것을 활용하여, 폼의 StyleName에 스타일을 지정하면, 기본적으로는 그 폼 안의 모든 컨트롤들에도 부모인 폼에 지정된 스타일이 적용된다. 간단한 데모 컨트롤 개별 스타일(Per-Control Style)이라는 제목에서 알 수 있듯이, 하나의 애플리케이션 안에서 컨트롤과 폼 별로 여러가지 스타일을 따로 적용할 수 있다. 그러려면 우선 애플리케이션에 여러가지 스타일들이 로드되어야 하고, 반드시 그중 하나가 애플리케이션의 기본 스타일로 지정되어야만 한다. 가장 먼저 메인 메뉴 > Project > Options 화면에서 Application > Appearance를 선택하고 Styles 상자에서 앱에 로드할 여러가지 스타일을 선택한다 (힌트: 10.4부터는 High DPI를 지원하는 스타일들이 추가되었다). 그리고 나서 Default style 항목에서 'Windows’가 아닌 스타일을 지정한다(그 이유는 아래에서 설명한다). 그림.프로젝트 옵션 화면에서 사용할 스타일 여러개를 활성화하고, 그 중 하나를 기본 스타일로 지정할 수 있다. 이제 폼에 있는 각 컨트롤의 StyleName 속성에 서로 다른 스타일 이름을 지정하자. (아래 DFM 파일의 예시는 연관된 주요 속성만 표시한다.) object Form2: TForm2 StyleName = 'Sky' object Panel1: TPanel StyleName = 'Light' object Button1: TButton... object Button3: TButton StyleName = 'Sky' end end object Button2: TButton StyleName = 'Windows' end object Button4: TButton StyleName = 'Luna' end object Button5: TButton StyleName = 'Aqua Graphite' end end 위 코드를 보면서 이해해보자. 컨트롤에 스타일이 지정되어 있지 않으면 부모(컨테이너)의 스타일이 적용되므로, Button1에는 Panel1의 스타일인 ‘Light’ 스타일이 적용된다. StyleName 속성 값 중 ‘Windows’는 스 타일 목록에 있기는 하지만 스타일이라기 보다는 스타일을 적용하지 말라는 특별한 값이므로(자세한 내용은 아래에서 설명한다), Button2에는 어떤 스타일도 적용되지 않기 때문에 ‘윈도우 기본’ 테마가 반영된다. 그림. 위 코드에 있는 버튼 5개가 표현된 결과 화면이다. 5개 버튼 모두 스타일이 다르다. 사용 규칙 VCL 애플리케이션에서 각 폼과 컨트롤 별로 스타일을 조정하는 방법은 여러 가지이지만 아래 규칙을 알아두면 좋다. 1. 프로젝트 옵션에서 스타일를 선택(또는 해제)하라. 그러면, StyleName 속성의 값을 지정할 때 표시되는 스타일 목록에 반영된다 (물론, 코드를 사용하여, 실행 중에도 스타일을 로드할 수도 있다). 2. TControl.StyleName 속성을 이용하여 각 컨트롤과 폼 별로 원하는 스타일을 지정하라. StyleName 값은 프로젝트 옵션에 표시되는 스타일 중 하나여야 한다. 부모 컨트롤에 지정된 스타일이 자식 컨트롤에 적용되게 할 수도 있다. 예를 들어 폼의 StyleName 속성에서 스타일을 지정하면 그 폼 안에 있는 모든 컨트롤에도 적용된다. TControl.StyleName의 기본값은 공백이다. 따라서 컨트롤 개별 스타일을 전혀 지정하지 않으면, 애플리케이션의 모든 컨트롤과 폼에는 애플리케이션의 기본 스타일이 적용된다. StyleName속성을 ‘Windows’로 지정하면 해당 (컨트롤, 폼 등) 해당 요소에는 스타일이 무시되므로 ‘윈도우 기본’ 테마가 반영된다. StyleName에 스타일을 지정했지만, 그 스타일이 애플리케이션이 로드하지 않는 (즉 프로젝트 옵션에서 선택되지 않은) 스타일인 경우 애플리케이션의 기본 스타일이 적용된다. 3. 윈도우 대화상자(Dialog)에도 스타일을 적용할 수 있다. TStyleManager.DialogsStyleName 속성을 이용하라. 기본값은 공백이다(애플리케이션의 기본 스타일이 적용). 4. 애플리케이션의 기본 스타일을 ‘Windows’ 값으로 지정할 수 있다. TControl.StyleName 속성의 기본값이 공백이기 때문에, 애플리케이션에서 지정한 ‘Windows’ 즉 ‘스타일 무시’가 애플리케이션의 모든 컨트롤과 폼의 StyleName 속성에 적용된다. 그 방법은 코드 TStyleManager.UseSystemStyleAsDefault := True 을 사용하는 것이다. (역자 주: 이 코드는 개별 유닛 등 어느 곳에서도 사용할 수 있지만, 프로젝트 소스에 이 코드를 넣으면 애플리케이션 전체에 반영된다) 그리고 나서, 스타일을 사용하고 싶은 폼이나 컨트롤에서만 StyleName 속성에 스타일을 지정하면 된다. 이 방식은 폼 몇개에서만 VCL 스타일을 활성화하고 싶을 때 활용하기 좋다. 애플리케이션 안에서 컨트롤이나 폼 하나라도 스타일을 사용하려면, 프로젝트 옵션에서 Default style 옵션에서 반드시 ’Windows’가 아닌 일반 스타일을 선택해야 한다. (역자 주: 프로젝트 옵션에서 Default style 옵션을 ’Windows’로 선택하면 이 애플리케이션에서는 ‘윈도우 기본’ 테마를 사용하고 스타일 기능을 전혀 사용하지 않도록 지정하는 것이기 때문이다) 위 4번에서 설명한 작동 원리는 매우 중요하다. 프로젝트 옵션을 통해 스타일을 사용도록 지정한 애플리케이션에서도 스타일을 지원하지 않는 써드 파티 컴포넌트를 사용할 수 있도록 하기 때문이다. 예전에는 이렇게 다루기가 상당히 힘들었지만 이제는 이 새로운 아키텍처를 통해 (컨트롤과 폼 등의) 요소들이 스타일을 지원하건 안하건 관계없이 섞어서 잘 사용할 수 있게 되었고 써드 파티 컨트롤 때문에 VCL 스타일 사용을 포기할 필요가 없어졌다. 써드 파티 컨트롤에는 컨트롤 개별 스타일링이 자동으로 적용되지 않는다는 점을 명심하자. 이와 같이 스타일 기반이 아닌 컨트롤에 개별 스타일을 적용하려면 TControl을 매개변수로 받는 Vcl.Themes.StyleServices 메소드를 코드에서 사용해야 한다. 예를 들면, StyleServices(Self).DrawElement; 결론 컨트롤 개별 VCL 스타일(Per-Control VCL Style)이 도입 됨에 따라, 스타일을 훨씬 더 유연하게 사용할 수 있게 되었다. 폼 몇개에만 스타일을 적용하는 것으로 시작해서, 점차 다른 폼으로 확대 적용해 나갈 수도 있다. 직접 만든 컨트롤이나 써드 파티 컨트롤 등 VCL 스타일을 지원하지 않는 컨트롤도 스타일을 사용하는 애플리케이션 안에서 사용할 수 있다. UI 스타일 여러 개를 섞어서 쓸 수 있으며 실행 중에 동적으로 스타일을 지정할 수 도 있다. 컨트롤 개별 스타일 적용 외에도 10.4에서 많은 VCL 기능과 VCL 스타일이 추가되었지만, 이 훌륭한 기능은 별도의 글을 작성할 가치가 있다고 느꼈다.
  3. 짐 맥키트(Jim McKeeth)가 작성한 High-DPI on Windows 10을 번역했습니다. 모니터와 관련하여 우리는 종종 해상도(예: 1920x1080)와 대각선 길이(예: 27" 또는 68.58cm)를 이야기한다. 이 정보와 피타고라스 정리를 활용하면, DPI를 파악할 수 있다. 아래의 DPI와 PPI에 대한 설명을 참고). 해상도를 높이지 않는다면, 화면이 커질수록 DPI는 낮아진다. DPI = (sqrt (sqr (폭) + sqr (높이)) / 대각선 처음에 윈도우는 모든 모니터의 DPI를 96로 간주했었다 (실제로는 72 PPI를 사용한다). 윈도우 XP에서는 GDI+가 추가되어서 해상도에 의지하지 않고도 텍스트를 확대/축소할 수 있게 되었다. 윈도우 비스타(Vista)에서는 High DPI 디스플레이 지원이 추가됨에 따라 더 많은 픽셀을 사용할 수 있게 되어서 텍스트는 더 선명하게 이미지는 더 자세하게 표현할 수 있어 졌다. 하지만, 앱이 High DPI를 지원한다고 알려주지 않는 경우에 윈도우는 앱을 여전히 96DPI로 취급했다. 윈도우 7에서는 모니터의 실제 픽셀 밀도을 파악하여 값을 얻을 수 있게 되었다. 윈도우 10에서는 모니터 별로 독립적으로 DPI에 맞게 확대/축소할 수 있게 되었다. (96 DPI 이상인) High DPI 모니터를 사용하는 경우, 윈도우에서 화면 배율을 지정하면, 확대된 화면에서 내용이 너무 작고 읽기 힘들어 지는 것이 아니라, 더 선명한 폰트와 더 자세한 이미지를 볼 수 있다. 그림. 윈도우 10 화면 설정에서 화면 배율 지정 윈도우 10의 이 변화가 개발자에게 의미하는 바는, 10.3 리오부터 윈도우 VCL로 High DPI 애플리케이션 개발할 수 있게 되었다는 점이다. High DPI 이미지 리스트 지원 Per Moniter V2 지원 새로운 스타일들 윈도우 API들 업데이트 마르코 칸투는 Per Monitor v2 지원에 대한 글을 통해서 개발자가 윈도우 10의 새 기능을 활용하여 모니터 별로 해당 DPI를 파악할 수 있는 앱을 개발할 수 있게 되었다는 점을 설명했다. 이 DPI Awareness 옵션은 Project > Optios > Application > Manifest에 있다. 새 VCL 프로젝트를 만들면 디펄트 설정인 Per Monitor v2가 반영된다. 기존의 프로젝트에서 High DPI를 지원하려면 이 옵션을 직접 Per Monitor v2로 바꾸면 된다. 그림. RAD 스튜디오 프로젝트 옵션 설정에서 DPI Awareness 지정 VCL프로젝트에서 Per Monitor v2 옵션을 지정하여 빌드한 VCL 앱은 자동으로 화면에 맞추어 크기를 변경한다. 하지만, 관련하여 VCL.Classes 유닛에 GetSystemMetricForWindow 함수가 새로 추가되었다. 이 함수는 윈도우의 새 API인 GetSystemMetricsForDPI를 활용한다 (참고로, 이 새 윈도우 API는 안에서 이전의 GetSystemMetrics를 활용한다). GetSystemMetricForWindow 함수를 이용하면 개발자는 앱이 표현되고 있는 현재의 모니터에서 파악된 내용을 기반으로, 앱의 각 창 별로 해당 매트릭, 해상도, DPI를 얻을 수 있다. TControl (과 그 하위 컨트롤)에는 GetSystemMetrics 메소드가 제공된다. 이 메소드를 호출하면 업데이트된 정보가 자동으로 제공되므로 기존 코드를 쉽게 마이그레이션 할 수 있다. TControl에는 이 메소드 이외에도 CurrentPPI 속성이 있다. 그림. TControl (과 그 하위 컨트롤)은 화면의 DPI에 맞추어 이미지를 선명하게 표현할 수 있다. 새 VCL High DPI 이미지 리스트는 마술같은 멋진 컴포넌트로써 TImageCollection과 TVirtualImageList로 구성된다. 이 컴포넌트 세트 사용에 대한 내용은 데이비드 밀링턴의 글에 잘 설명되어 있다. 이 컴포넌트 세트 덕분에 High DPI 화면에서 고해상도 그래픽를 자동으로 활용하는 앱을 정말 쉽게 만들 수 있다. 새 이미지 리스트는 윈도우의 기본 이미지 리스트 이상을 담고 있어서 여러분의 VCL 앱이 멋지게 표현될 수 있도록 한다. 그림. TImageCollection에는 이미지 별로 다양한 해상도의 이미지를 추가/편집/삭제할 수 있다 이 기능들을 (겟잇에서 제공하는) 10.3 리오에서 추가된 새 VCL 스타일과 함께 사용하자. 개발자는 VCL 앱이 윈도우 10에서 작동될 때 어떤 모니터에서도 멋진 모습이 되로록 하는데 필요한 모든 것을 다 가졌다. 10.3 리오에서는 이것 이외에도 많은 새 기능과 업데이트가 있다. DPI와 PPI에 대한 설명 DPI는 이미지를 구성하는 각 점들의 밀도를 측정한 것이다. 이 점들은 화면이나 지면에 표현될 때 사용되는 점이다. 하지만, 지금은 모니터 화면에서 이미지를 표현하는 개별 요소인 픽셀을 중심으로 이야기 해보자. 인치 당 점의 갯수인 DPI는 화면 상에서는 1인치 당 점인 픽셀의 갯수이다 (1인치가 2.54cm이므로 254DPI는 100DPCM이고, 100DPI는 39.37DPCM이지만, 지금은 DPI만 사용하기로 하자). 종이에 찍히는 잉크 점 하나와 화면에 펴현되는 픽셀 하나 사이에는 기술적인 차이점이 있다. 따라서 모니터에서는 Pixels Per Inch (PPI)가 정확한 용어이지만 DPI와 PPI가 같은 의미로 사용되는 경우가 흔하다. 대부분의 모니터에는 서브 픽셀(sub-pixel)이 있다. 서브 픽셀은 (빨강, 녹색, 청색와 아마 하얀색인) 각 개별 색상 요소이며, 모여서 하나의 색상 픽셀을 형성한다. 화면의 각 개별 색상 요소인 서브 픽셀의 밀도가 달라지게 되면, 화면의 색상 표현 역시 크게 달라진다.
  4. 데이비드 밀링턴 (David Millington)이 작성한 New in RAD Studio 10.3: High DPI Image List for Windows를 번역했습니다. RAD 스튜디오 10.3에서는 High DPI 지원에도 많이 신경을 썼다. 마르코 칸투가 쓴 VCL에서 Per Monitor v2 지원에서 언급되었듯이, 10.3부터는 VCL 애플리케이션이 화면 배율에 알맞게 축소/확대 되며, High DPI 화면 또는 확장된 화면에서 잘 표현된다. 이때 중요한 점은 툴바, 메뉴, 버튼 등 글리프(Glyph)를 사용하는 모든 곳에서 해당 그래픽 자원을 얼마나 잘 High DPI에 맞추어 확대/축소하는가이다. 툴바에서 16×16 픽셀인 아이콘을 사용한다면, 이 애플리케이션이 200% 확대된 곳에서 작동할 때에는 32×32 픽셀로 선명하게 표현되기를 원한다. 비록 High DPI API가 윈도우에 추가되긴 했지만, 윈도우 자체의 이미지 리스트에는 확대/축소 기능이 없다. TImageList는 이것을 감싸고 있으므로 마찬가지 제약이 있다. 따라서 화면의 DPI에 맞게 배율이 변하는 폼 안에서, 툴바 등 TImageList를 통해 사용되는 이미지들이 배율에 맞춰 선명하게 표현되게 하려면, 복잡한 추가 코드를 작성하지 않고는 어렵다. 그리고 VCL 콘트롤 대부분은 실제로 네이티브 윈도우 콘트롤이므로 윈도우의 네이티브 이미지 리스트와 HIMAGELIST 그리기 핸들에 밀접하게 묶여있다. 10.3에서 델파이와 C++빌더에는 완전히 새로운 이미지 리스트 콘트롤이 추가되었다. 자동으로 High DPI에 맞게 확대/축소되기 때문에 모니터나 배율에 상관없이 언제나 선명한 고해상도 이미지가 표현된다. 그리고 기존의 VCL 콘트롤 또는 윈도우 이미지 리스트와 완전히 호환되며, WinAPI를 호출할 때 사용할 수 있도록 HIMAGELIST 윈도우 핸들도 제공된다. 마법같지 않은가? 계속 읽어보자! TImageCollection 과 TVirtualImageList 새 이미지 리스트는 예전과 달리 두개로 나누어 구성된다. 이미지 컬렉션(단지 고해상도 이미지를 모아두는 역할)과 가상 이미지 리스트(이미지 컬렉션에 연결되어 상황에 따라 특정 크기의 이미지를 꺼내어 표현하는 역할)이다. 이미지 컬렉션 (TImageCollection) TImageCollection은 단순명확하다. 어디에 두어도 된다. 폼이든 데이터 모듈이든 TImageCollection을 놓아두고 그 안에 이미지를 추가하면 된다. TImageCollection에는 같은 이미지를 해상도 별로 여려개 넣을 수 있다. 예를 들어, 하나의 이미지를 16×16, 32×32, 128×128 픽셀로 각각 파일을 올리면, 실제로는 크기가 다른 이미지이지만 논리적으로 하나의 이미지로 취급된다. 그림. TImageCollection에는 이미지 별로 다양한 해상도의 이미지를 추가/편집/삭제할 수 있다. 논리적인 이미지 별로 서로 다른 해상도 파일을 올릴 때 수작업으로 할 수도 있지만, 이 파일들을 모아둔 폴더에서 한번에 올려도 TImageCollection이 알아서 유사한 이름 별로 묶고 크기를 파악한다. 파일명을 가지고 이렇게 구분하도록 하려면 Size Separator (구분자)를 지정한다. 예를 들어, ‘foo-16.png’, ‘foo-32.png’, ‘bar-16.png’ 파일을 올리면, 논리적 이미지는 foo와 bar 두개가 생기고 foo는 16×16과 32×32 버전을 가진다. 여기에 사용되는 파일명 내의 구분자는 이미 시중의 아이콘 라이브러리에서 널리 사용되고 있는 것들이므로 아이콘을 사서 바로 임포트할 수도 있다. TImageCollection은 PNG 이미지와 32bpp 비트맵 (알파 채널을 가지는 BMP 파일)을 지원한다. 32bpp가 아닌 비트맵은 구.TImageList에서와 마찬가지로 전통적인 컬러키 비트맵으로 취급한다. TImageCollection 안에서는 이미지에 이름을 주거나 카테고리를 지정할 수 있어서 관리하기가 좋다. 그 결과 알파을 인식할 수 있고, 다중 해상도 이미지를 담을 수 있는 컬렉션이 생긴다. 가상 이미지 리스트 (TVirtualImageList) TVirtualImageList 컴포넌트는 화면의 DPI/배율에 따라 알맞는 이미지를 표현한다. TVirtualImageList는 TImageCollection에 연결하여 사용한다. TVirtualImageList에는 이미지를 추가하거나 목록을 편집할 수 있는데, 연결된 컬렉션에 있는 이미지를 가져와서 지정한다. 또한 AutoFill 속성을 사용하면 연결된 컬렉션에 있는 모든 이미지를 자동으로 채울 수도 있다. 또한 기타 유용한 설정이 있다. 예를 들어, 비활성화 이미지 표시를 구.TImageList 보다 잘 할 수 있다 (회색 처리 그리고/또는 반투명 처리 등). TVirtualImageList는 화면 크기에 맞는 이미지가 사용된다는 점이 핵심이다. 이미지 리스트에 높이와 너비를 지정한다는 점은 구.TImageList와 마찬가지이지만, 그 의미는 다르다. 구.TImageList에서 높이와 너비가 각각 16으로 지정되면 표현되는 화면과 상관없이 무조건 16x16으로 표현 되었지만, TVirtualImageList에서 높이와 너비가 각각 16으로 지정하면 배율이 100%일 때 16x16으로 표현하라는 의미이므로, 화면 배율 변하면, 크기도 변한다. High DPI 창별 배율 (High DPI scales per-window)이란 서로 다른 폼에 서로 다른 배율이 적용될 수 도 있다는 의미이다. 이때 (DPI 변화에 맞추어 이미지 리스트가 확대/축소 해야하는 경우) 그 배율은 폼에 적용된 배율을 기준으로 한다. 따라서 TVirtualImageList는 폼에서만 사용할 수 있다 (TImageCollection과 달리 데이터 모듈에서는 사용할 수 없다. 데이터 모듈은 비시각적 콘트롤이므로 배율과 관련이 없기 때문이다). TVirtualImageList는 폼에 적용된 현재 배율을 파악하고, 이미지컬렉션에 있는 이미지 중 그 배율에 맞는 이미지를 가져와서 표현한다. TVirtualImageList에 지정하는 높이와 너비가 배율 100%를 기준으로 하기 때문에 이것이 가능하다. 만약 TVirtualImageList가 들어있는 폼에 적용되는 배율이 200%라면, 높이와 너비가 모두 16으로 지정된 TVirtualImageList는 실제로 32×32 아이콘을 그린다. 16의 200%가 32이기 때문이다. TVirtualImageList는 고해상도 이미지를 그린다. 크기에 딱맞는 이미지가 있으면 그것이 사용된다. 만약 딱맞는 것이 없으면 해상도가 더 높은 이미지를 가져와서 수준높은 확대/축소 알고리즘을 거쳐서 표현한다. 이런 이미지 처리 결과 캐시되기 때문에 이미지 별도 단 한번만 수행된다. TVirtualImageList는 TCustomImageList를 상속받았으며 HIMAGELIST 핸들이 있다. 따라서 WinAPI 메소드를 호출할 수 있다. 새 이미지 리스트로 컨버전하기 TImageCollection에는 구.TImageList에 들어 있는 이미지를 가져올 수 있는 도구가 제공된다. TImageCollection에서 오른쪽 클릭을 하여 구.TImageList 여러개에서 이미지들을 한꺼번에 임포트할 수 있다. 도움말 Docwiki에는 TImageCollection과 TVirtualImageList에 대한 자세한 도움말(영문 보기, 한글 자동 번역 보기)이 있다. 아키텍처와 컴포넌트에 대해 이 글에서 소개한 내용보다 자세히 설명되어 있고, 새 High DPI 이미지 리스트로 마이그레이션하는 방법과 베스트 프렉티스가 있다. 최종 결과 이미지 리스트 데모 화면의 스크린 샷이다. 100% 배율 화면: 800% 배율 화면: 이미지가 더 선명하고 깨끗하다. 새 High DPI 이미지 리스트 (TImageCollection 과 TVirtualImageList)는 DPI를 인식하여 배율에 맞는 고품질 이미지를 자동으로 반영한다. 기존의 TImageLists와 완전히 호환되고 예전 방식의 비트맵과 이미지 리스트를 임포팅할 수 있다. VCL 전체를 아우르는 PerMonitor V2의 High DPI 지원과 함께 사용하면 RAD 스튜디오 10.3 부터는 배율을 인식하는 시각적으로 훌륭한 고품질 앱을 만들 수 있다.
  5. Kori

    2010~6.0 VCL과 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 2010~6.0 "새 기능 한글 요약본: VCL과 RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 목록 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [2010] 경로, 파일, 디렉토리 관련된 함수 사용이 편리해 졌습니다. System.IOUtils 클래스 TDirectory, TPath, TFile 등의 클래스들을 지원하여 로컬 디스크상의 디렉토리, 파일들을 훨씬 간단하게 검색, 액세스 가능합니다. □ [2010] 키오스크나 태블릿 개발에 유용한 가상키보드를 개발할 수 있습니다. TTouchKeyboard 컴포넌트 가상 키보드 컴포넌트인 TTouchKeyboard가 추가되어, 터치나 마우스 클릭으로 키 입력을 할 수 있게 되었습니다. 키오스크나 태블릿 개발에 아주 유용합니다. 터치키보드는 상속하여 간단히 원하는 언어 키보드를 구현할 수 있으며, 숫자 키패드로 바꿀 수도 있습니다. □ [2010] TCanvas와 유사한 TDirect2DCanvas로 Direct2D 개발이 가능합니다. Direct2D 지원 이제 델파이에서도 손쉽게 Direct2D 개발을 할 수 있습니다. 더욱이, 델파이 개발자들이 익숙한 TCanvas와 유사하게 TDirect2DCanvas로 만들어져 기존의 TCanvas로 개발해본 개발자라면 누구나 쉽게 배워 활용할 수 있습니다. □ [2010] TIFF와 RAW 포맷을 이미지컴포넌트에서 사용할 수 있습니다. TIFF 및 RAW 이미지 지원 WIC(Windows Imaging Components)를 지원함으로써, 스캐너, 팩스 등 수많은 분야에서 사용되는 범용 이미지 포맷 중의 하나인 TIFF를 직접 지원하게 되었습니다. 또한 최근 디지털 카메라에서 고급 이미지를 위해 많이 사용되는 RAW 포맷들도 WIC를 통해 지원하게 되었습니다. □ [2009] MS 오피스와 같은 리본 인터페이스를 쉽게 개발할 수 있습니다. 리본 컨트롤 MS 오피스에서 도입된 리본컨트롤을 컴포넌트로 지원해, 다른 개발툴들처럼 복잡한 코딩 없이 폼 디자인만으로 간단히 리본 컨트롤을 추가하고 다룰 수 있습니다. □ [2009] 컴포넌트 속성 설정만으로 멀티터치와 제스처를 구현할 수 있습니다. 멀티터치 / 제스처 지원 이제 델파이의 모든 컨트롤에서 터치 인터페이스를 지원하게 되었으며, 특히 특별한 코딩 없이 컴포넌트 수준의 설정만으로도 터치와 제스츄어를 지원합니다. 이를 위해 델파이 2010에서는 대부분의 VCL 컨트롤에서 Touch 속성이 추가되었으며, 여기서 지정된 GestureManager 컴포넌트를 통해 제스처도 지원됩니다. 기존 애플리케이션에도 간단히 터치 인터페이스를 추가할 수 있습니다. 델파이에서는 기본적으로 30개의 표준 제스처를 지원하며, 개발 중에 Custom Gesture를 추가하거나 혹은 런타임에 GestureRecorder 컨트롤을 이용하여 쉽게 사용자 제스츄어를 기록할 수 있습니다. □ [2009] 비슷한 범주의 버튼을 그룹으로 묶어서 제공할 수 있습니다. TButtonGroup 컴포넌트 비슷한 범주의 버튼을 그룹으로 묶어서 사용할 수 있습니다. 델파이 IDE의 툴 팔레트 카테고리 선택 UI도 TButtonGroup으로 제작되었습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 에디터 컴포넌트에 이미지 버튼을 쉽게 넣을 수 있습니다. TButtonEdit 컴포넌트 에디트 컴포넌트에 이미지 버튼을 가진 컴포넌트입니다. LeftButton, RightButton 속성에 이미지를 지정할 수 있으며 OnLeftClick, OnRightClick 이벤트로 클릭을 제어할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] ListView의 그룹을 직접 설정하고, 그룹마다 이미지를 지정할 수 있습니다. ListView 그룹화 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 사용자 알림에서 제목, 설명과 이미지를 추가할 수 있습니다. TBalloonHint 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩의 사이드바와 같이 접었다 펴지는 UI를 구현할 수 있습니다. TCategoryPanelGroup 컴포넌트 아웃룩의 사이드바와 같은 작업을 합니다. 여러개의 다른 패널을 추가할 수 있고 각기다른 패널에 VCL 컴포넌트를 추가할 수 있습니다. 타이틀, 이미지, 정렬과 아이콘을 각기 다르게 구현할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩 사이드바와 같은 카테고리 별 그룹과 버튼을 갖는 UI를 구현할 수 있습니다. TCategoryButtons 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 그리드 컴포넌트의 스타일을 지정할 수 있습니다. 그리드 컴포넌트의 DrawingStyle 속성 Themed, Gradient 스타일이 그리드 컴포넌트에 추가되었습니다.(기본값 = gdsThemed) 자세히 보기: http://tech.devgear.co.kr/411088 □ [2007] 최신 윈도우의 가이드라인에 맞는 애플리케이션을 만들 수 있습니다. 최신 윈도우 공식지원 델파이 XE3에서 Windows 8을 델파이 2010에서 Windows 7을 델파이 2007에서 Windows Vista를 공식 지원합니다. 따라서 델파이로 빌드한 애플리케이션은 마이크로소프트의 윈도우 가이드라인을 준수하게 되며, 해당 윈도우에서 아무 문제 없이 동작합니다. □ [2007] 프로젝트 옵션 설정으로 윈도우 테마 지원 적용을 간단하게 할 수 있게 되었습니다. 윈도우 테마 지원 개선 Delphi 7에서는 Windows XP의 테마 기능을 지원하기 위해 XPMan (TXPManifest 컴포넌트) 방식을 사용했습니다. Delphi 2007 이후로는 이런 테마 지원이 더 네이티브 해져서, 프로젝트 옵션에서 Runtime Theme 선택(또는 Enable runtime Themes 체크)하면 전체 프로젝트에 대해 간편하게 테마 지원을 추가할 수 있습니다. 이 옵션은 Delphi 2007 이상에서 새로 만든 프로젝트에서는 기본으로 적용되며, Delphi 2006 이하의 구버전에서 작성된 소스에 대해서는 호환성을 위해 체크가 안되어 있습니다. (XPMan 방식을 사용한 경우 이 체크를 하면 충돌하며, 그런 경우 이 개선된 테마 지원을 사용하려면 프로젝트의 모든 유닛들의 uses 리스트에서 XPMan 유닛을 제거해야 합니다) □ [2006] 메모리 매니저와 RTL 함수가 교체되어 성능이 향상된 애플리케이션을 만들 수 있습니다. FastMM 메모리 매니저 도입 FastMM은 전통적인 Delphi의 메모리 매니저인 borlndmm.dll을 대체하는 것으로서, 이전보다 훨씬 빠른 메모리 루틴들을 제공하여 Delphi로 개발된 애플리케이션의 속도를 비약적으로 끌어올려줍니다. 또한 FastMM으로 인해 Delphi의 RTL에 메모리 관리 관련의 새로운 기능들이 많이 추가되었습니다. 전역 변수인 ReportMemoryLeaksOnShutdown에 True 값을 설정해두면, 프로그램이 종료될 때 메모리 누수 상황에 대해 알려주며, 메인 exe와 dll 사이에 메모리를 간단히 공유할 수도 있습니다. □ [2006] 마우스 중앙 버튼을 누르면 스크롤링 하는 기능을 개발할 수 있습니다. 인텔리마우스 지원 VCL 인텔리마우스 API를 지원합니다. 예를 들어 왼쪽 그림처럼 TMemo 컴포넌트 위에서 마우스 중앙 버튼을 누르면 사용자로 하여금 메모 내에서 스크롤링 하기 위해 마우스를 사용할 수 있도록 해 줍니다. 델파이 코드 에디터도 이 기능을 지원합니다. □ 작업표시줄 영역에 트레이 아이콘을 추가하고 풍선 도움말과 팝업메뉴를 제공할 수 있습니다. TTrayIcon 컴포넌트 TTrayIcon 컴포넌트는 VCL 애플리케이션이 태스크 트레이에 아이콘을 넣을 수 있도록 해줍니다. 이 컨트롤은 풍선 도움말과 팝업 메뉴를 지원합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ PNG, GIF를 지원할 수 있습니다. PNG, GIF 지원 bmp, jpeg 이미지 지원에 이어, 이제 VCL에서 PNG 및 GIF이미지 포맷도 지원됩니다. 또한 이미지 리스트 컴포넌트에서 png 파일을 직접 읽어 들일 수 있어 전보다 더 편리하게 되었습니다. □ 컨트롤의 여백을 설정해 컨트롤 배치를 더 다양하게 할 수 있습니다. VCL – Margins와 Padding 모든 VCL 컨트롤에 Padding 및 Margin 프로퍼티가 추가되었습니다. 이 두 프로퍼티는 HTML에서와 비슷하게 동작하는데, Padding은 컨테이너 컨트롤이 내부의 컨트롤과 가지는 여유 공간의 픽셀 길이입니다. Margin 프로퍼티는 컨트롤의 바깥 여유 공간입니다. 컨트롤의 AlignWithMargins 프로퍼티가 True로 지정되고 Align 프로퍼티가 alNone이 아닌 값으로 지정되면 해당 컨트롤의 Margin 프로퍼티 값에 따라 배치됩니다. 예를 들어, 그림은 폼 위에 있는 TPanel을 보여줍니다. 이 패널은 Align이 alClient로, AlignWithMargins 속성이 True로 지정되었으며, Margin 속성은 20으로 지정된 상태입니다. 또한 폼의 Padding.Bottom 속성은 30으로 지정되었습니다. AlignWithMargins와 Margin 속성을 이용하면 기존의 Align 속성만 이용할 때보다 훨씬 쉽고 풍부하게 컨트롤들을 배치할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 표준 HTML 링크가 들어있는 라벨을 사용할 수 있습니다. TLinkLabel 컴포넌트 위의 사진은 Caption에 “ 데브기어 홈페이지를 클릭하세요.”을 입력하고 실행한 결과입니다. 링크를 클릭하면 OnLinkClick 이벤트가 발생합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 사용자의 결정이 필요한 경우, 여러가지 선택지를 제공하여 사용자의 의견을 정교하게 받을 수 있습니다. TTaskDialog 컴포넌트 TTaskDialog 컴포넌트는 비스타에서 새로 도입된 태스크 다이얼로그 기능을 사용할 수 있게 해주는 컴포넌트입니다. 개발자는 오브젝트 인스펙터를 이용하여 TaskDialog의 모양을 커스터마이즈할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088
  6. Kori

    XE8~XE VCL과 RTL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 XE8 ~XE "새 기능 한글 요약본: VCL과 RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 목록 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [XE8] 근거리 위치기반 사물인터넷 서비스를 개발할 수 있습니다. 비콘 이제 비콘 컴포넌트(TBeacon)을 이용해 근거리 위치기반 서비스를 개발할 수 있습니다. 비콘은 일정 주기로 비콘식별정보와 거리를 계산할 수 있는 작업 데이터를 주변으로 송출하는 장비입니다. 비콘은 iBeacon과 AltBeacon 2가지의 표준을 제공하며 델파이의 TBeacon 컴포넌트는 iBeacon과 AltBeacon을 모두 지원하며, 비콘 영역의 입출입, 근접한 비콘의 정보 등을 이벤트로 제공해 비콘을 이용한 사물인터넷 서비스를 개발할 수 있습니다 자세히 보기: https://tech.devgear.co.kr/delphi_news/410888 □ [XE7] 블루투스를 이용해 원격의 장치와 센서 등을 여러분의 앱과 연결할 수 있습니다. 클래식 블루투스, 블루투스LE 컴포넌트 블루투스를 이용해 원격의 장치와 연결하고 원격 애플리케이션과 데이터를 주고 받을 수 있습니다. 델파이는 클래식 블루투스 컴포넌트와 블루투스 LE(저전력) 컴포넌트를 각각 제공합니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/405916 □ [XE7] 윈도우 작업표시줄 아이콘의 팝업메뉴 안에 바로가기 메뉴를 추가할 수 있습니다. TJumpList 컴포넌트 자세히 보기: https://tech.devgear.co.kr/delphi_news/411088 □ [XE7] 멀티코어 CPU를 최대한 활용하여 성능이 높은 애플리케이션을 개발할 수 있습니다. 병렬 컴퓨팅 라이브러리 지원 델파이는 멀티코어 CPU 장비의 성능을 최대한 활용할 수 있도록 병렬 컴퓨팅 라이브러리를 이용할 수 있습니다. • 멀티코어 CPU를 최대한 활용할 수 있도록 다수의 CPU에서 병렬(페러럴)로 작업 • 비동기 연산작업에 사용되어 멀티코어 컴퓨터와 장비 최대한 활용 가능 • 기존 코드에 손쉽게 통합하도록 라이브러리 형태로 지원 자세히 보기: https://tech.devgear.co.kr/delphi_news/405868 □ [XE6] 윈도우 작업표시줄 아이콘에 애플리케이션 미리보기와 제어버튼, 진행률을 표시할 수 있습니다. TTaskBar 컴포넌트 자세히 보기: https://tech.devgear.co.kr/delphi_news/411088 □ [XE6] VCL 애플리케이션에 있는 데이터를 손쉽게 모바일 앱으로 확장할 수 있습니다. VCL 앱을 모바일앱으로 확장할 수 있는 앱테더링 컴포넌트 앱테더링은 VCL 애플리케이션과 모바일앱이 상호 커뮤니케이션 할 수 있도록 지원하는 컴포넌트입니다. 앱테더링을 이용하면, 기존의 윈도우 애플리케이션의 기능을 모바일 앱으로 확장할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/406984 □ [XE5] 새로운 양방향 데이터셋으로 멀티-디바이스 데이터 액세스 애플리케이션 개발이 더 쉽고 재미있어 집니다. FireDAC – 범용 데이터 액세스 컴포넌트 다양한 데이터베이스를 제어할 수 있는 통합 API를 제공합니다. 데이터베이스 별 고유 기능을 사용하고, 최적의 성능을 발휘할 수 있도록 DBMS 별 네이티브 데이터베이스 드라이버를 지원합니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/410454 □ [XE5] FireDAC으로 데이터 사용 내역을 추적하고 모니터링 할 수 있습니다. FireDAC 추적과 모니터링 FireDAC의 추적기능을 이용하면 애플리케이션과 데이터베이스 사이의 통신내용을 상세하게 보거나 기록할 수 있습니다. 이 추적 정보에는 이벤트 발생시간, API 호출내역, DB로 전송된 SQL, 파라메터와 필드 값, 오류와 경고 등이 기록되어 여러분의 DB 애플리케이션의 문제점을 디버깅하고 해결하는데 유용하게 사용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409890 □ [XE5] FireDAC에서는 데이터 변경 사항을 메모리에 캐쉬하여, DBMS에 일괄 업데이트, 취소할 수 있습니다. FireDAC – 캐쉬를 이용한 업데이트 캐쉬 업데이트는 애플리케이션의 메모리 영역(즉, 데이터셋)에 업데이트 내역을 기록하고, DBMS에 한번에 업데이트하거나 일괄취소할 수 있는 기능입니다. 캐쉬 업데이트를 사용 하면 작업내용을 로컬에서 관리하므로 DBMS와의 트래픽을 줄일 수 있고, 사용자는 인터넷 속도와 관계없이 빠르게 작업할 수 있습니다. 그리고 부가적으로 작업이력을 확인(변경된 레코드 조회, 변경된 값 확인 등)하고, 작업을 되돌리는 기능(최종작업 되돌리기, 선택 레코드 되돌리기 등)등이 메소드를 이용해 손쉽게 구현할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409889 □ [XE5] 30배 빠르게 복수의 데이터를 입력할 수 있습니다. FireDAC – Array DML FireDAC의 Array DML은 쿼리 전송 시 매개변수(Parameters)를 배열을 이용해 한번에 DBMS로 전달해 데이터 입력, 수정, 삭제 명령의 실행속도를 빠르게 하는 기능입니다. 이 방법은 DBMS와 애플리케이션 사이의 통신비용을 줄이고 DBMS 명령 요청을 줄입니다. 그 결과 실행 속도가 향상됩니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409950 □ [XE5] 쿼리의 결과가 많은 경우 일부 데이터만 가져오는 작업을 옵션 설정만으로 구현할 수 있습니다. FireDAC 캐스캐이딩 옵션 FireDAC은 FetchOptions(DBMS에서 데이터를 어떻게 취득할지 제어하는 검색옵션), FormatOptions(DBMS의 데이터형식을 FireDAC 데이터형식으로 또는 반대로 매핑하는 형식옵션), UpdateOptions(DBMS 업데이트 전송방법을 제어하는 업데이트 옵션), ResourceOptions(시스템 리소스 사용과 데이터셋의 지속성을 제어하는 자원 옵션), TxOptions(트랜젝션 실행방법을 제어하는 트랜젝션 옵션)을 이용해 다양한 방식으로 기능과 성능을 제어할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409959 □ [XE5] 오라클과 SQL서버, MySQL에서 모두 돌아가는 유연한 쿼리를 만들 수 있습니다. FireDAC 커맨드 텍스트 전처리 커맨드 텍스트 전처리는 SQL 명령을 데이터베이스에 전달하기 전 파라메터를 치환하고, FireDAC 매크로 함수를 DBMS에 맞도록 치환할 수 있습니다. 대체변수(파라메터 확장을 위해 SQL 문의 일부를 치환), 이스케이프 시퀀스(한번 작성하면 서로 다른 DBMS에서 그대로 사용할 수 있는 DBMS에 의존적이지 않은 SQL문 생성), 조건부 대체(연결된 DBMS에 따라 조건부로 실행되는 SQL 문 작성)를 사용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409997 □ [XE5] 데이터베이스 내용을 엑셀 형식의 CSV 파일로 내보내고 가져오는 기능을 구현할 수 있습니다. FireDAC ETL FireDAC의 ETL은 Extract, Transform, Load의 약자로 아래 역할을 합니다. • Extract(추출) : 같은 종 또는 이기종 데이터 소스로부터 데이터를 추출 • Transform(변환) : 쿼리 또는 분석하기 위한 데이터로 저장하기 위해 적절한 포맷과 구조로 변환 • Load(로드) : 최종 목적(데이터베이스, 더 구체적으로, 운용 데이터 저장소, 데이터 마트, 또는 데이터 창고)으로 로드 FireDAC ETL로 아래의 기능을 구현할 수 있습니다. • Query문으로 조회한 데이터를 엑셀에서 사용할 수 있는 CSV 파일로 내보내기 • 텍스트파일의 데이터를 데이터베이스 테이블로 가져오기 • 데이터베이스에서 다른 데이터베이스로 데이터 이동하기 자세히 보기: https://tech.devgear.co.kr/delphi_news/410458 □ [XE5] 데이터베이스에 연결하지 않고, 메모리 데이터셋에 대해 필터링 정렬 등을 사용할 수 있습니다. FireDAC – TFDMemTable TFDMemTable은 메모리 기반 데이터셋입니다. 즉, 데이터베이스 연결 없이 파일 데이터나 코드로 추가한 데이터를 메모리에 올려 데이터셋의 기능(필터링, 정렬 등)을 사용할 수 있습니다. TFDMemTable은 아래 기능을 할 수 있습니다. 디자인타임과 런타임 시 파일 불러오기(Load File), 파일로 내보내기(Save File), 다른 데이터셋의 데이터가져오기(Assign Data) 기능 사용 런타임 시 파일과 스트림으로 데이터 내보내기, 불러오기 기능을 사용할 수 있으며, JSON, XML, Binary 포맷 선택 가능 멀티티어 애플리케이션(REST 클라이언트, 데이터스냅 등)에서 수신 데이터를 보관하는 데이터셋 역할 내부에서 데이터 보관할 시 컬랙션객체(TList, TStringList) 대신 메모리테이블 사용 시 데이터셋의 기능(UI 컨트롤에 데이터바인딩, Local SQL, 필터링, 정렬 등)을 사용해 다양한 기능 손쉽게 구현 가능 Local SQL을 이용해 메모리테이블(데이터셋)에서 쿼리 실행 ETL 기능으로 다른 데이터소스(텍스트, CSV 등)에서 가져온 데이터 보관 자세히 보기: https://tech.devgear.co.kr/delphi_news/410575 □ [XE5] DB에서 가져온 데이터를 대상으로 다시 SQL 쿼리를 실행할 수 있습니다. FireDAC – LocalSQL Local SQL은 DB로부터 애플리케이션의 메모리 상으로 가져온 데이터(데이터셋: TDataSet을 상속받은 객체)를 대상으로 다시 SQL 쿼리를 할 수 있는 기능으로 아래와 같이 사용할 수 있습니다. 여러 이기종 DB들에 대한 쿼리 : 다양한 DB에서 가져온 여러 데이터셋을 대상으로 원하는 데이터 쿼리(조인 가능) 인 메모리 데이터베이스 : TFDMemTable은 메모리상에 있는 데이터셋의 역할 오프라인 모드 쿼리 : 원격 DB에 연결할 수 없는 경우에도, 이미 가져온 데이터셋을 대상으로 쿼리 실행 데이터스냅 클라이언트 쿼리 : 데이터스냅 서버(미들웨어)에서 받아온 데이터셋을 대상으로 쿼리 실행 간편한 마이그레이션 : 애플리케이션 내에서 써드파티를 통해 가져온 데이터셋 객체를 대상으로 쿼리 실행 자세히 보기: https://tech.devgear.co.kr/delphi_news/410465 □ [XE3] 윈도우8의 메트로 UI 모양과 느낌의 애플리케이션을 개발 할 수 있습니다. 메트로 UI 애플리케이션 개발 화면 터치에 최적화된 메트로 UI 애플리케이션을 만들 수 있습니다. File > New > Other 메뉴에서 Delphi Project > VCL Metropolis UI Application 으로 메트로 UI 애플리케이션 개발을 시작할 수 있습니다. □ [XE2] VCL 애플리케이션의 외관을 멋진 현대식 스타일을 적용할 수 있습니다. VCL 스타일 VCL 스타일은 VCL 애플리케이션의 모든 컨트롤, 폼의 테두리, 메뉴, 시스템 메뉴까지 일관되게 현대식 스타일을 적용할 수 있습니다. 별도의 코드 추가나 컴포넌트 추가 없이 프로젝트 옵션의 Appearance 화면(Project > Options > Application > Appearnace)에서 스타일 선택 및 적용할 수 있습니다. □ [XE2] 여러분만의 VCL 스타일을 만들 수 있습니다. Bitmap Style Designer Bitmap Style Designer는 VCL과 파이어몽키 스타일 파일 저작 도구입니다. File > New > VCL Style 메뉴로 새로운 스타일을 만들거나, Open 메뉴로 기존의 스타일 파일을 불러와 편집해 새로운 스타일 파일을 만들 수 있습니다. Tools > Bitmap Style Designer 메뉴를 통해 사용할 수 있습니다. (기본 제공되는 VCL 스타일 파일의 경로는 C:\Users\Public\Documents\Embarcadero\Studio\16.0\Styles(XE8 기준) 입니다.) □ [XE] 정규표현식을 이용하는 프로그램을 개발할 수 있습니다. TRegEx 클래스로 정규표현식 지원 TRegEx 클래스를 이용해 정규표현식을 지원합니다.
  7. Kori

    10.0 시애틀 VCL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.0 시애틀 "새 기능 한글 요약본: VCL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.0 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10] 윈도우 10 VCL 컨트롤 윈도우 10 용 새 VCL 컨트롤을 이용해 윈도우 10 UI를 손쉽게 적용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414834 □ [10] TSplitView 윈도우 10 시작 메뉴에서 사용하는 일명 햄버거 메뉴 형태 구현에 용이합니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414834 □ [10] 윈도우 10 스타일 지원 VCL 스타일을 적용해 1분만에 윈도우 10 최신신 룩앤필을 적용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414848 □ [10] 공용 대화 상자와 웹브라우저에도 VCL 스타일 적용 VCL 스타일이 공용 대화 상자와 웹브라우저에도 적용됩니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414855 □ [10] 윈도우 10 서비스 활용 알림, 계약(Contract) 등의 윈도우 10 플랫폼 서비스 기능을 컴포넌트와 API로 쉽게 활용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414873
  8. Kori

    10.1 베를린 VCL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.1 베를린 "새 기능 한글 요약본: VCL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.1 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10.1] 리본 컨트롤을 겟잇 패키지 매니저에서 설치할 수 있습니다. 리본 컨트롤 설치 겟잇 패키지 매니저에서 리본 컨트롤(Ribbon Control)을 검색해 다운로드 받을 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/422522 □ [10.1.2] 윈도우 10 캘린더 활용 추가된 캘린더 컴포넌트(2종)을 이용해 윈도우10 룩앤필을 제공할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/427301 □ [10.1] 리본 컨트롤을 겟잇 패키지 매니저에서 설치할 수 있습니다. 리본 컨트롤 설치 겟잇 패키지 매니저에서 리본 컨트롤(Ribbon Control)을 검색해 다운로드 받을 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/422522 □ [10.1] 윈도우 태스크바 알림 뱃지 제어 자세히 보기: https://tech.devgear.co.kr/delphi_news/425596 □ [10.1.2] 윈도우 10 캘린더 활용 추가된 캘린더 컴포넌트(2종)을 이용해 윈도우10 룩앤필을 제공할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/427301 □ [10.1.2] 퀵에디트(Quick Edit) 메뉴 사용하기 새로 추가된 퀵 에디트 메뉴를 통해 손쉽고, 빠르게 화면을 제작할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/427298 □ [10.1.2] 윈도우 10 스타일 3종(다크블루, 그린, 퍼플) 자세히 보기: https://tech.devgear.co.kr/delphi_news/427295 □ [10.1.2] 데스크탑 브릿지 기술을 이용해 윈도우 10 스토어에 배포 자세히 보기: https://tech.devgear.co.kr/delphi_news/427290
  9. Kori

    10.2 도쿄 VCL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.2 도쿄 "새 기능 한글 요약본: VCL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.2 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.2 도쿄 - VCL 관련 주요 업데이트 요약 [10.2.2] 새 VCL 컨트롤: TCardPanel [10.2.2] 새 VCL 컨트롤: TStackPanel [10.2.2] 새 VCL 컨트롤: TDatePicker / TTimePicker 고 해상도 지원 픽스 [10.2.2] 새 VCL 컨트롤: TCardPanel TCardPanel은 여러장의 카드를 관리하는 패널 컴포넌트입니다. 한번에 하나의 카드만 표시되며, 메소드(PreviousCard, NextCard, ActiveCard, ActiveCardIndex)를 호출해 카드를 전환할 수 있습니다. 각 카드는 다른 컨트롤들을 포함하는 컨테이너 역할을 합니다. 샘플 프로젝트 경로 : C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\VCL\CardPanel [10.2.2] 새 VCL 컨트롤: TStackPanel TStackPanel은 컨트롤들을 담는 컨테이너로, 컨트롤들의 자체 크기를 유지하며 수직 또는 수평으로 정렬할 수 있습니다.컨트롤 모두를 대상으로 위치(왼쪽, 중안, 오른쪽, 채우기)를 지정할수도, 개별 컨트롤 마다 위치를 지정할 수 있습니다. 샘플 프로젝트 경로 : C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\VCL\StackPanel [10.2.2] 새 VCL 컨트롤: TDatePicker / TTimePicker 윈도우 10 룩앤필을 제공하는 새로운 형식의 날짜 및 시간 선택 컨트롤입니다. 날짜 포맷(DateFormat)과 시간 포맷(TimeFormat)을 직접 지정할 수 있어 원하는 날짜 형식으로 제공가능합니다. 드롭다운 메뉴의 갯수 지정, OK/Cancel 버튼 표시, 분단위 증가량 등을 사용자 지정할 수 있습니다. 이 컴포넌트들은 자체적으로 윈도우즈10 룩앤필을 제공하며, 윈도우 7과 윈도우 8에서도 동일한 윈도우즈10 룩앤필을 지원합니다. 샘플 프로젝트 경로 : C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\VCL\DateTimePicker 자세히 보기: https://tech.devgear.co.kr/delphi_news/438358 고 해상도 지원 픽스 폼의 경계는 WM_DPICHANGED 윈도우 메시지에 응답하여 올바르게 조정된다. 즉, 폼의 왼쪽 위 모서리의 위치 뿐만 아니라 TForm.AutoScroll이 올바르게 작동한다. 해상도가 다른 여러 모니터가 있는 경우 폼이 각 모니터에 맞는 올바른 배율로 열린다. 해상도가 다른 모니터 사용하는 폼간에 이동 시 TTabSheet 및 TPageControl, 탭 시트 또는 페이지 컨트롤에 배치 된 ActionMainMenuBar 와 VCL 메뉴 (메인 메뉴와 팝업 메뉴)가 높은 해상도 모니터에 올바르게 표시됩니다. TStatusBar의 높이가 정확합니다. 메시지 대화 상자의 아이콘 크기가 올바르게 조정되었습니다. 서로 해상도 모니터 간에 폼을 이동할 때 고정 된 컨트롤 위치에 유지됩니다. TCheckBox 및 TRadioButton가 정확히 그려집니다. 폼 상속에서 몇 가지 이슈가 해결되었다. 예를 들어 계승된 폼에서 ParentFont가 true로 설정된 패널 위에 컨트롤들이 배치 될 때 정확한 폰트 사이즈가 사용됩니다. TListView 컬럼 사이즈는 상속 된 폼에서 그대로 유지됩니다.
  10. Kori

    10.4 시드니 VCL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.4 시드니 "새 기능 한글 요약본: VCL" 입니다. 10.4 시드니의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.4 시드니 - VCL 관련 주요 업데이트 요약 VCL 스타일 변경 (High DPI 지원) VCL 개별 컨트롤(Per-Control) 스타일링 새로운 VCL 컴포넌트: 엣지 브라우저 컨트롤 새로운 VCL 컴포넌트: TTitleBarPanel과 CustomTiltleBar 윈도우즈 API 업데이트 VCL 스타일 변경 (High DPI 지원) 그림. High DPI에 최적화되도록, 10.4부터 VCL 스타일 아키텍처가 크게 변경되었고, High DPI를 지원하는 스타일이 제공된다. High DPI 및 4K+ 모니터를 지원하도록 10.4에서 VCL 스타일 아키텍처가 크게 개선되었다. VCL 폼의 모든 UI 컨트롤들은 폼이 표현되는 모니터의 해상도에 맞게 자동으로 확대/축소된다. High DPI 스타일을 지원하도록 스타일 API가 전면 수정되었다. 각 UI 요소는 여러 배율 버전을 가진 라이브러리 중에서 DPI에 맞는 것이 사용/축소/확대되므로 모든 모니터에서 각 UI요소가 선명하게 표현된다. 많은 VCL 스타일(기본 제공 및 프리미엄)이 업데이트되어서 새 HighDPI 스타일 모드를 지원한다. 그 결과, 어떤 모니터에서도 멋지게 표현되는 애플리케이션을 개발할 수 있다. VCL 개별 컨트롤(Per-Control) 스타일링 그림. 10.4부터는 각 VCL 컨트롤 별로 다른 스타일을 적용할 수 있다. 하나의 VCL 애플리케이션 안의 각 폼에 별로 다른 스타일을 사용할 수 있고, 하나의 폼 안의 각 컨트롤 별로도 다른 스타일을 적용할 수 있다. 플랫폼 기본 테마을 사용하는 요소들에도 스타일을 적용할 수 있다. 게다가 스타일 적용이 훨씬 유연해짐에 따라 스타일 적용이 되지 않는 써드 파티 컨트롤을 스타일이 적용된 VCL 애플리케이션 안에서 사용할 수 있다. 보다 자세한 설명과 활용법 보기 새로운 VCL 컴포넌트: 엣지 브라우저 컨트롤 10.4에는 Chromium 기반의 Microsoft의 새로운 Edge WebView2를 사용하는 새로운 VCL 웹브라우저 컴포넌트인 TEdgeBrowser를 포함합니다. Internet Explorer 기반의 기존 TWebBrowser에 비해 훨씬 더 현대적이고 안전한 HTML 엔진을 제공합니다. 또한, 기존 TWebBrowser 컴포넌트는 시스템에서 사용 가능한 브라우저에 따라 Internet Explorer 또는 엣지 브라우저로 표시하도록 확장되었습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/463313 새로운 VCL 컴포넌트: TTitleBarPanel과 CustomTiltleBar 새로운 TTitleBarPanel 컨트롤 및 TForm.CustomTitleBar 속성을 사용해 VCL 폼의 기본 윈도우즈 제목 표시줄을 사용자 정의할 수 있습니다. 윈도우즈 제목 표시줄에 VCL 컨트롤을 배치하거나, 아이콘 및 캡션과 같은 항목의 색상등을 제어하거나, 최소화/최대화/닫기 버튼 근처에 새로운 시스템 버튼을 추가하거나, 또는 제목 표시줄을 완전히 새롭게 사용자 정의 할 수 있습니다. 10.4의 새로운 제목 표시줄 지원은 요즘 가장 인기있는 워드프로세서 및 웹브라우저 애플리케이션과 유사한 현대적이고 고급스러운 제목 표시줄을 작성할 수 있습니다. 윈도우즈 API 업데이트 RAD 스튜디오가 제공하는 뛰어나 플랫폼 통합을 더욱 향상하기 위해 많은 API 선언을 개선하고 추가했습니다.
  11. 험프리

    11.0 알렉산드리아 VCL

    << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 11.0 알렉산드리아 "새 기능 한글 요약본: VCL" 입니다. 11.0 알렉산드리아의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 11.0 알렉산드리아 - VCL 관련 주요 업데이트 요약 TRichEdit 컴포넌트 RichEdit 4.1로 업데이트 VCL 현대화 작업 새로운 기본 폰트 Memo와 RichEdit에 새로운 EditMargins 속성 추가 그룹박스와 라디오그룹 외곽선 표시 및 해더 폰트 속성 추가 TComboBox DropDownWidth 속성 추가 TTreeView에 체크박스 표시 기능 추가 TWICImage 다중 프레임 지원 새로운 TLabelDBEdit 컴포넌트 에러 메시지 강화 쿨바 셰브론 지원 NumberBox 강화 쓰래드 안전성 강화 VCL StyleUtils.inc 일반 파일로 전환 그외 변경들 TRichEdit 컴포넌트 RichEdit 4.1로 업데이트 TRichEdit 콘트롤이 새로 구현되었다. XP 종속성이 제거되고 URL 감지, 맞춤법 검사, 배경색, 투명도 등 새 기능이 추가되었다. VCL 현대화 작업 새로운 기본 폰트 VCL 애플리케이션의 기본 글꼴이 "Segoe UI, 9"로 적용되었다. VCL 스타일의 제목항목의 글꼴도 동일하게 적용되었다. Memo와 RichEdit에 새로운 EditMargins 속성 추가 그림. TMemo은 TCustomMemo를 상속받기때문에 EditMargins 속성이 추가되어 좌우 여백을 지정할 수 있다. Auto를 True로 지정하면, 폰트 크기에 맞게 여백이 반영 EditMargins 속성을 이용해 에디터 안쪽 좌/우측 여백을 설정할 수 있다. TCustomMemo를 상속받은 TMemo, TDBMemo, TRichEdit, TDBRichEdit에 모두 적용된다. 그룹박스와 라디오그룹 외곽선 표시 설정 및 헤더 폰트 속성 추가 ShowFrame: 외곽선 표시 여부를 결정 HeaderFont: 그룹 헤더의 폰트를 설정 DefaultHeaderFont: 그룹 헤더에 디펄드 폰트를 적용할 것인지 여부를 지정 TCustomGroupBox를 상속받은 TGroupBox와 TRadioGroup에 모두 적용된다. TComboBox DropDownWidth 속성 추가 DropDownWidth: 드롭 다운 항목 상자의 폭을 지정 AutoDropDownWidth: 드롭 다운 항목에 맞게 자동으로 항목 상자의 폭이 변경됨 TCustomComboBox를 상속받은 TComboBox, TDBComboBox, TDBLookupComboBox 등의 컴포넌트에 적용된다. TTreeView에 체크박스 표시 기능 추가 CheckBoxes 속성: 체크 박스 표시 여부를 지정 TWICImage 다중 프레임 지원 새로운 FrameCount 및 FrameIndex 속성을 이용하여 이미지 파일의 유효한 다중 프레임을 읽을 수 있다. 새로운 TLabelDBEdit 컴포넌트 VCL 컨트롤 TLabeledEdit 컴포넌트의 데이터 인식버전인 TDBLabeledEdit 컴포넌트가 추가되었다. 또한, TFlowPanel과 TGridPanel 컨테이너 안에 TLabeledEdit 컨트롤이 들어갈 수 있다. 에러 메시지 강화 스트림으로 폼을 생성하는 동안 오류가 발생하면 오류 메시지에 폼 파일 이름이 표시 예외 대화상자에는 오류 메시지를 클립보드로 복사할 수 있는 Copy 버튼이 추가 쿨바 셰브론 지원 쿨바(TCoolbar)에 셰브론(Chevron)을 표시할 수 있는 ShowChevron 속성이 추가되었다. 쿨바의 밴드에 툴바(TToolbar)를 설정하고, Wrapable 속성을 False로 설정한 경우 툴바 아이콘이 표시되지 않는 너비인 경우 셰브론이 표시된다. NumberBox 강화 10.4.2에서 추가된 TNumberBox에 새로운 속성들이 추가되었다. CurrencyFormat 타입이 Byte에서 TNumberBoxCurrencyFormat으로 변경 ValueCurrency 속성 추가 DisplayFormat 속성을 오브젝트 인스펙트에 표시 쓰래드 안전성 강화 TControl.RaiseOnNonMainThreadUsage 속성이 추가되어, 이 속성을 True로 설정 시 메인 쓰래드가 아닌 쓰래드에서 TWinControl 윈도우 핸들을 생성 시 예외를 발생해 실수로 발생할 수 있는 문제를 방지할 수 있게 되었다. VCL StyleUtils.inc 일반 유닛으로 전환 StyleUtils.inc 파일이 일반 유닛으로 변환되어 개발자(및 구성요소 공급업체)가 VCL 스타일 지원과 코드를 보다 효율적으로 통합할 수 있게 되었다. TDateTimePicker TDateTimePicker에 Kind 프로퍼티가 추가됨 (사용자가 에서 날짜와 시간을 함께 변경 가능) 그외 변경들 TOpenTextFileDialog에 EncodingIndex와 ShowEncodingList 속성 추가되어 인코딩 드롭다운 목록을 활성화해 사용 가능 TTrackbar에 OnTracking 이벤트 추가(트랙바의 Thumb 위치 변경 시 트리거 됨) TPageControl.FindNextPage에 CheckTabEnable 파라미터가 추가되어 비활성화된 탭을 건너뛰기 가능 TButtonCategory는 VisibleGutter 속성을 갖음 TDateTimePicker와 TRichEdit 비활성화 시 정상적으로 표시 TScrollBox는 이번 릴리즈에서 마우스 휠을 자동 지원(이 변경사항은 포커스가 없는 컨트롤에 마우스 휠을 활성화해 원치않는 방식으로 기존 응용프로그램에 영향을 줄 수 있음) VCL의 ScaleImage 함수가 알파 채널을 지원 TVirtualImageList.Image가 적절한 속성 설정기(setter)를 가짐 TTreeNode는 nsDropHilted 상태를 지원 폼의 기본 크기가 더 커짐 SetSelText와 SetSelTextBuf는 Undo 버퍼를 재설정하지 옵션을 제공(새로운 CanUndoSelText 속성으로 관리) TEdgeBrowser 소폭 개선 TCustomTitleBarPanel은 TitleButtonClose, TitleButtonRestore, TitleButtonMin 속성과 OnUpdateTitlebarButtons 이벤트를 제공 TPngImage 객체는 TWICImage객체로 할당 및 할당받을(Assign to and from) 수 있음 TWinControl은 LockDrawing과 UnlockDrawing을 지원, WM_SETDRAW 윈도우 메시지 실행 시 트리거 됨 TWinControl.LockDrawing 메소드로 컨트롤 업데이트 비활성 TWinControl.UnlockDrawing 메소드로 컨트롤 업데이트 활성 TWinControl.IsDrawingLocked 속성은 LockDrawing이 호출된 경우 True 반환(그리고 UnlockDrawing이 호출되지 않은 경우) TWinControl.RedrawDisabled 속성은 Win32 컨트롤 드로윙이 비활성화 된 경우 True 반환
  12. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 11.0 알렉산드리아 "새 기능 한글 요약본: VCL" 입니다. 11.0 알렉산드리아의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 11.0 알렉산드리아 - VCL 관련 주요 업데이트 요약 TRichEdit 컴포넌트 RichEdit 4.1로 업데이트 VCL 현대화 작업 새로운 기본 폰트 Memo와 RichEdit에 새로운 EditMargins 속성 추가 그룹박스와 라디오그룹 외곽선 표시 및 해더 폰트 속성 추가 TComboBox DropDownWidth 속성 추가 TTreeView에 체크박스 표시 기능 추가 TWICImage 다중 프레임 지원 새로운 TLabelDBEdit 컴포넌트 에러 메시지 강화 쿨바 셰브론 지원 NumberBox 강화 쓰래드 안전성 강화 VCL StyleUtils.inc 일반 파일로 전환 그외 변경들 TRichEdit 컴포넌트 RichEdit 4.1로 업데이트 TRichEdit 콘트롤이 새로 구현되었다. XP 종속성이 제거되고 URL 감지, 맞춤법 검사, 배경색, 투명도 등 새 기능이 추가되었다. VCL 현대화 작업 새로운 기본 폰트 VCL 애플리케이션의 기본 글꼴이 "Segoe UI, 9"로 적용되었다. VCL 스타일의 제목항목의 글꼴도 동일하게 적용되었다. Memo와 RichEdit에 새로운 EditMargins 속성 추가 그림. TMemo은 TCustomMemo를 상속받기때문에 EditMargins 속성이 추가되어 좌우 여백을 지정할 수 있다. Auto를 True로 지정하면, 폰트 크기에 맞게 여백이 반영 EditMargins 속성을 이용해 에디터 안쪽 좌/우측 여백을 설정할 수 있다. TCustomMemo를 상속받은 TMemo, TDBMemo, TRichEdit, TDBRichEdit에 모두 적용된다. 그룹박스와 라디오그룹 외곽선 표시 설정 및 헤더 폰트 속성 추가 ShowFrame: 외곽선 표시 여부를 결정 HeaderFont: 그룹 헤더의 폰트를 설정 DefaultHeaderFont: 그룹 헤더에 디펄드 폰트를 적용할 것인지 여부를 지정 TCustomGroupBox를 상속받은 TGroupBox와 TRadioGroup에 모두 적용된다. TComboBox DropDownWidth 속성 추가 DropDownWidth: 드롭 다운 항목 상자의 폭을 지정 AutoDropDownWidth: 드롭 다운 항목에 맞게 자동으로 항목 상자의 폭이 변경됨 TCustomComboBox를 상속받은 TComboBox, TDBComboBox, TDBLookupComboBox 등의 컴포넌트에 적용된다. TTreeView에 체크박스 표시 기능 추가 CheckBoxes 속성: 체크 박스 표시 여부를 지정 TWICImage 다중 프레임 지원 새로운 FrameCount 및 FrameIndex 속성을 이용하여 이미지 파일의 유효한 다중 프레임을 읽을 수 있다. 새로운 TLabelDBEdit 컴포넌트 VCL 컨트롤 TLabeledEdit 컴포넌트의 데이터 인식버전인 TDBLabeledEdit 컴포넌트가 추가되었다. 또한, TFlowPanel과 TGridPanel 컨테이너 안에 TLabeledEdit 컨트롤이 들어갈 수 있다. 에러 메시지 강화 스트림으로 폼을 생성하는 동안 오류가 발생하면 오류 메시지에 폼 파일 이름이 표시 예외 대화상자에는 오류 메시지를 클립보드로 복사할 수 있는 Copy 버튼이 추가 쿨바 셰브론 지원 쿨바(TCoolbar)에 셰브론(Chevron)을 표시할 수 있는 ShowChevron 속성이 추가되었다. 쿨바의 밴드에 툴바(TToolbar)를 설정하고, Wrapable 속성을 False로 설정한 경우 툴바 아이콘이 표시되지 않는 너비인 경우 셰브론이 표시된다. NumberBox 강화 10.4.2에서 추가된 TNumberBox에 새로운 속성들이 추가되었다. CurrencyFormat 타입이 Byte에서 TNumberBoxCurrencyFormat으로 변경 ValueCurrency 속성 추가 DisplayFormat 속성을 오브젝트 인스펙트에 표시 쓰래드 안전성 강화 TControl.RaiseOnNonMainThreadUsage 속성이 추가되어, 이 속성을 True로 설정 시 메인 쓰래드가 아닌 쓰래드에서 TWinControl 윈도우 핸들을 생성 시 예외를 발생해 실수로 발생할 수 있는 문제를 방지할 수 있게 되었다. VCL StyleUtils.inc 일반 유닛으로 전환 StyleUtils.inc 파일이 일반 유닛으로 변환되어 개발자(및 구성요소 공급업체)가 VCL 스타일 지원과 코드를 보다 효율적으로 통합할 수 있게 되었다. TDateTimePicker TDateTimePicker에 Kind 프로퍼티가 추가됨 (사용자가 에서 날짜와 시간을 함께 변경 가능) 그외 변경들 TOpenTextFileDialog에 EncodingIndex와 ShowEncodingList 속성 추가되어 인코딩 드롭다운 목록을 활성화해 사용 가능 TTrackbar에 OnTracking 이벤트 추가(트랙바의 Thumb 위치 변경 시 트리거 됨) TPageControl.FindNextPage에 CheckTabEnable 파라미터가 추가되어 비활성화된 탭을 건너뛰기 가능 TButtonCategory는 VisibleGutter 속성을 갖음 TDateTimePicker와 TRichEdit 비활성화 시 정상적으로 표시 TScrollBox는 이번 릴리즈에서 마우스 휠을 자동 지원(이 변경사항은 포커스가 없는 컨트롤에 마우스 휠을 활성화해 원치않는 방식으로 기존 응용프로그램에 영향을 줄 수 있음) VCL의 ScaleImage 함수가 알파 채널을 지원 TVirtualImageList.Image가 적절한 속성 설정기(setter)를 가짐 TTreeNode는 nsDropHilted 상태를 지원 폼의 기본 크기가 더 커짐 SetSelText와 SetSelTextBuf는 Undo 버퍼를 재설정하지 옵션을 제공(새로운 CanUndoSelText 속성으로 관리) TEdgeBrowser 소폭 개선 TCustomTitleBarPanel은 TitleButtonClose, TitleButtonRestore, TitleButtonMin 속성과 OnUpdateTitlebarButtons 이벤트를 제공 TPngImage 객체는 TWICImage객체로 할당 및 할당받을(Assign to and from) 수 있음 TWinControl은 LockDrawing과 UnlockDrawing을 지원, WM_SETDRAW 윈도우 메시지 실행 시 트리거 됨 TWinControl.LockDrawing 메소드로 컨트롤 업데이트 비활성 TWinControl.UnlockDrawing 메소드로 컨트롤 업데이트 활성 TWinControl.IsDrawingLocked 속성은 LockDrawing이 호출된 경우 True 반환(그리고 UnlockDrawing이 호출되지 않은 경우) TWinControl.RedrawDisabled 속성은 Win32 컨트롤 드로윙이 비활성화 된 경우 True 반환 View full RAD 스튜디오 버전별 신기능
  13. 마이크로소프트에서 인터넷 익스플로러가 2022년 6월 15일 부로 지원 종료한다고 발표했습니다. 관련 링크: https://blogs.windows.com/wp-content/uploads/prod/sites/2/2021/05/Microsoft-Edge_Korean-Blog-and-FAQ-1.pdf 델파이에서 TWebBrowser를 사용 중인데 어떻게 대비하면 좋을까요?
  14. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.4 시드니 "새 기능 한글 요약본: VCL" 입니다. 10.4 시드니의 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.4 시드니 - VCL 관련 주요 업데이트 요약 VCL 스타일 변경 (High DPI 지원) VCL 개별 컨트롤(Per-Control) 스타일링 새로운 VCL 컴포넌트: 엣지 브라우저 컨트롤 새로운 VCL 컴포넌트: TTitleBarPanel과 CustomTiltleBar 윈도우즈 API 업데이트 VCL 스타일 변경 (High DPI 지원) 그림. High DPI에 최적화되도록, 10.4부터 VCL 스타일 아키텍처가 크게 변경되었고, High DPI를 지원하는 스타일이 제공된다. High DPI 및 4K+ 모니터를 지원하도록 10.4에서 VCL 스타일 아키텍처가 크게 개선되었다. VCL 폼의 모든 UI 컨트롤들은 폼이 표현되는 모니터의 해상도에 맞게 자동으로 확대/축소된다. High DPI 스타일을 지원하도록 스타일 API가 전면 수정되었다. 각 UI 요소는 여러 배율 버전을 가진 라이브러리 중에서 DPI에 맞는 것이 사용/축소/확대되므로 모든 모니터에서 각 UI요소가 선명하게 표현된다. 많은 VCL 스타일(기본 제공 및 프리미엄)이 업데이트되어서 새 HighDPI 스타일 모드를 지원한다. 그 결과, 어떤 모니터에서도 멋지게 표현되는 애플리케이션을 개발할 수 있다. VCL 개별 컨트롤(Per-Control) 스타일링 그림. 10.4부터는 각 VCL 컨트롤 별로 다른 스타일을 적용할 수 있다. 하나의 VCL 애플리케이션 안의 각 폼에 별로 다른 스타일을 사용할 수 있고, 하나의 폼 안의 각 컨트롤 별로도 다른 스타일을 적용할 수 있다. 플랫폼 기본 테마을 사용하는 요소들에도 스타일을 적용할 수 있다. 게다가 스타일 적용이 훨씬 유연해짐에 따라 스타일 적용이 되지 않는 써드 파티 컨트롤을 스타일이 적용된 VCL 애플리케이션 안에서 사용할 수 있다. 보다 자세한 설명과 활용법 보기 새로운 VCL 컴포넌트: 엣지 브라우저 컨트롤 10.4에는 Chromium 기반의 Microsoft의 새로운 Edge WebView2를 사용하는 새로운 VCL 웹브라우저 컴포넌트인 TEdgeBrowser를 포함합니다. Internet Explorer 기반의 기존 TWebBrowser에 비해 훨씬 더 현대적이고 안전한 HTML 엔진을 제공합니다. 또한, 기존 TWebBrowser 컴포넌트는 시스템에서 사용 가능한 브라우저에 따라 Internet Explorer 또는 엣지 브라우저로 표시하도록 확장되었습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/463313 새로운 VCL 컴포넌트: TTitleBarPanel과 CustomTiltleBar 새로운 TTitleBarPanel 컨트롤 및 TForm.CustomTitleBar 속성을 사용해 VCL 폼의 기본 윈도우즈 제목 표시줄을 사용자 정의할 수 있습니다. 윈도우즈 제목 표시줄에 VCL 컨트롤을 배치하거나, 아이콘 및 캡션과 같은 항목의 색상등을 제어하거나, 최소화/최대화/닫기 버튼 근처에 새로운 시스템 버튼을 추가하거나, 또는 제목 표시줄을 완전히 새롭게 사용자 정의 할 수 있습니다. 10.4의 새로운 제목 표시줄 지원은 요즘 가장 인기있는 워드프로세서 및 웹브라우저 애플리케이션과 유사한 현대적이고 고급스러운 제목 표시줄을 작성할 수 있습니다. 윈도우즈 API 업데이트 RAD 스튜디오가 제공하는 뛰어나 플랫폼 통합을 더욱 향상하기 위해 많은 API 선언을 개선하고 추가했습니다. View full RAD 스튜디오 버전별 신기능
  15. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.2 도쿄 "새 기능 한글 요약본: VCL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.2 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. 10.2 도쿄 - VCL 관련 주요 업데이트 요약 [10.2.2] 새 VCL 컨트롤: TCardPanel [10.2.2] 새 VCL 컨트롤: TStackPanel [10.2.2] 새 VCL 컨트롤: TDatePicker / TTimePicker 고 해상도 지원 픽스 [10.2.2] 새 VCL 컨트롤: TCardPanel TCardPanel은 여러장의 카드를 관리하는 패널 컴포넌트입니다. 한번에 하나의 카드만 표시되며, 메소드(PreviousCard, NextCard, ActiveCard, ActiveCardIndex)를 호출해 카드를 전환할 수 있습니다. 각 카드는 다른 컨트롤들을 포함하는 컨테이너 역할을 합니다. 샘플 프로젝트 경로 : C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\VCL\CardPanel [10.2.2] 새 VCL 컨트롤: TStackPanel TStackPanel은 컨트롤들을 담는 컨테이너로, 컨트롤들의 자체 크기를 유지하며 수직 또는 수평으로 정렬할 수 있습니다.컨트롤 모두를 대상으로 위치(왼쪽, 중안, 오른쪽, 채우기)를 지정할수도, 개별 컨트롤 마다 위치를 지정할 수 있습니다. 샘플 프로젝트 경로 : C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\VCL\StackPanel [10.2.2] 새 VCL 컨트롤: TDatePicker / TTimePicker 윈도우 10 룩앤필을 제공하는 새로운 형식의 날짜 및 시간 선택 컨트롤입니다. 날짜 포맷(DateFormat)과 시간 포맷(TimeFormat)을 직접 지정할 수 있어 원하는 날짜 형식으로 제공가능합니다. 드롭다운 메뉴의 갯수 지정, OK/Cancel 버튼 표시, 분단위 증가량 등을 사용자 지정할 수 있습니다. 이 컴포넌트들은 자체적으로 윈도우즈10 룩앤필을 제공하며, 윈도우 7과 윈도우 8에서도 동일한 윈도우즈10 룩앤필을 지원합니다. 샘플 프로젝트 경로 : C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\VCL\DateTimePicker 자세히 보기: https://tech.devgear.co.kr/delphi_news/438358 고 해상도 지원 픽스 폼의 경계는 WM_DPICHANGED 윈도우 메시지에 응답하여 올바르게 조정된다. 즉, 폼의 왼쪽 위 모서리의 위치 뿐만 아니라 TForm.AutoScroll이 올바르게 작동한다. 해상도가 다른 여러 모니터가 있는 경우 폼이 각 모니터에 맞는 올바른 배율로 열린다. 해상도가 다른 모니터 사용하는 폼간에 이동 시 TTabSheet 및 TPageControl, 탭 시트 또는 페이지 컨트롤에 배치 된 ActionMainMenuBar 와 VCL 메뉴 (메인 메뉴와 팝업 메뉴)가 높은 해상도 모니터에 올바르게 표시됩니다. TStatusBar의 높이가 정확합니다. 메시지 대화 상자의 아이콘 크기가 올바르게 조정되었습니다. 서로 해상도 모니터 간에 폼을 이동할 때 고정 된 컨트롤 위치에 유지됩니다. TCheckBox 및 TRadioButton가 정확히 그려집니다. 폼 상속에서 몇 가지 이슈가 해결되었다. 예를 들어 계승된 폼에서 ParentFont가 true로 설정된 패널 위에 컨트롤들이 배치 될 때 정확한 폰트 사이즈가 사용됩니다. TListView 컬럼 사이즈는 상속 된 폼에서 그대로 유지됩니다. View full RAD 스튜디오 버전별 신기능
  16. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.1 베를린 "새 기능 한글 요약본: VCL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.1 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10.1] 리본 컨트롤을 겟잇 패키지 매니저에서 설치할 수 있습니다. 리본 컨트롤 설치 겟잇 패키지 매니저에서 리본 컨트롤(Ribbon Control)을 검색해 다운로드 받을 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/422522 □ [10.1.2] 윈도우 10 캘린더 활용 추가된 캘린더 컴포넌트(2종)을 이용해 윈도우10 룩앤필을 제공할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/427301 □ [10.1] 리본 컨트롤을 겟잇 패키지 매니저에서 설치할 수 있습니다. 리본 컨트롤 설치 겟잇 패키지 매니저에서 리본 컨트롤(Ribbon Control)을 검색해 다운로드 받을 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/422522 □ [10.1] 윈도우 태스크바 알림 뱃지 제어 자세히 보기: https://tech.devgear.co.kr/delphi_news/425596 □ [10.1.2] 윈도우 10 캘린더 활용 추가된 캘린더 컴포넌트(2종)을 이용해 윈도우10 룩앤필을 제공할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/427301 □ [10.1.2] 퀵에디트(Quick Edit) 메뉴 사용하기 새로 추가된 퀵 에디트 메뉴를 통해 손쉽고, 빠르게 화면을 제작할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/427298 □ [10.1.2] 윈도우 10 스타일 3종(다크블루, 그린, 퍼플) 자세히 보기: https://tech.devgear.co.kr/delphi_news/427295 □ [10.1.2] 데스크탑 브릿지 기술을 이용해 윈도우 10 스토어에 배포 자세히 보기: https://tech.devgear.co.kr/delphi_news/427290 View full RAD 스튜디오 버전별 신기능
  17. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 10.0 시애틀 "새 기능 한글 요약본: VCL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 10.0 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [10] 윈도우 10 VCL 컨트롤 윈도우 10 용 새 VCL 컨트롤을 이용해 윈도우 10 UI를 손쉽게 적용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414834 □ [10] TSplitView 윈도우 10 시작 메뉴에서 사용하는 일명 햄버거 메뉴 형태 구현에 용이합니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414834 □ [10] 윈도우 10 스타일 지원 VCL 스타일을 적용해 1분만에 윈도우 10 최신신 룩앤필을 적용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414848 □ [10] 공용 대화 상자와 웹브라우저에도 VCL 스타일 적용 VCL 스타일이 공용 대화 상자와 웹브라우저에도 적용됩니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414855 □ [10] 윈도우 10 서비스 활용 알림, 계약(Contract) 등의 윈도우 10 플랫폼 서비스 기능을 컴포넌트와 API로 쉽게 활용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/414873 View full RAD 스튜디오 버전별 신기능
  18. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 XE8 ~XE "새 기능 한글 요약본: VCL과 RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 목록 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [XE8] 근거리 위치기반 사물인터넷 서비스를 개발할 수 있습니다. 비콘 이제 비콘 컴포넌트(TBeacon)을 이용해 근거리 위치기반 서비스를 개발할 수 있습니다. 비콘은 일정 주기로 비콘식별정보와 거리를 계산할 수 있는 작업 데이터를 주변으로 송출하는 장비입니다. 비콘은 iBeacon과 AltBeacon 2가지의 표준을 제공하며 델파이의 TBeacon 컴포넌트는 iBeacon과 AltBeacon을 모두 지원하며, 비콘 영역의 입출입, 근접한 비콘의 정보 등을 이벤트로 제공해 비콘을 이용한 사물인터넷 서비스를 개발할 수 있습니다 자세히 보기: https://tech.devgear.co.kr/delphi_news/410888 □ [XE7] 블루투스를 이용해 원격의 장치와 센서 등을 여러분의 앱과 연결할 수 있습니다. 클래식 블루투스, 블루투스LE 컴포넌트 블루투스를 이용해 원격의 장치와 연결하고 원격 애플리케이션과 데이터를 주고 받을 수 있습니다. 델파이는 클래식 블루투스 컴포넌트와 블루투스 LE(저전력) 컴포넌트를 각각 제공합니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/405916 □ [XE7] 윈도우 작업표시줄 아이콘의 팝업메뉴 안에 바로가기 메뉴를 추가할 수 있습니다. TJumpList 컴포넌트 자세히 보기: https://tech.devgear.co.kr/delphi_news/411088 □ [XE7] 멀티코어 CPU를 최대한 활용하여 성능이 높은 애플리케이션을 개발할 수 있습니다. 병렬 컴퓨팅 라이브러리 지원 델파이는 멀티코어 CPU 장비의 성능을 최대한 활용할 수 있도록 병렬 컴퓨팅 라이브러리를 이용할 수 있습니다. • 멀티코어 CPU를 최대한 활용할 수 있도록 다수의 CPU에서 병렬(페러럴)로 작업 • 비동기 연산작업에 사용되어 멀티코어 컴퓨터와 장비 최대한 활용 가능 • 기존 코드에 손쉽게 통합하도록 라이브러리 형태로 지원 자세히 보기: https://tech.devgear.co.kr/delphi_news/405868 □ [XE6] 윈도우 작업표시줄 아이콘에 애플리케이션 미리보기와 제어버튼, 진행률을 표시할 수 있습니다. TTaskBar 컴포넌트 자세히 보기: https://tech.devgear.co.kr/delphi_news/411088 □ [XE6] VCL 애플리케이션에 있는 데이터를 손쉽게 모바일 앱으로 확장할 수 있습니다. VCL 앱을 모바일앱으로 확장할 수 있는 앱테더링 컴포넌트 앱테더링은 VCL 애플리케이션과 모바일앱이 상호 커뮤니케이션 할 수 있도록 지원하는 컴포넌트입니다. 앱테더링을 이용하면, 기존의 윈도우 애플리케이션의 기능을 모바일 앱으로 확장할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/406984 □ [XE5] 새로운 양방향 데이터셋으로 멀티-디바이스 데이터 액세스 애플리케이션 개발이 더 쉽고 재미있어 집니다. FireDAC – 범용 데이터 액세스 컴포넌트 다양한 데이터베이스를 제어할 수 있는 통합 API를 제공합니다. 데이터베이스 별 고유 기능을 사용하고, 최적의 성능을 발휘할 수 있도록 DBMS 별 네이티브 데이터베이스 드라이버를 지원합니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/410454 □ [XE5] FireDAC으로 데이터 사용 내역을 추적하고 모니터링 할 수 있습니다. FireDAC 추적과 모니터링 FireDAC의 추적기능을 이용하면 애플리케이션과 데이터베이스 사이의 통신내용을 상세하게 보거나 기록할 수 있습니다. 이 추적 정보에는 이벤트 발생시간, API 호출내역, DB로 전송된 SQL, 파라메터와 필드 값, 오류와 경고 등이 기록되어 여러분의 DB 애플리케이션의 문제점을 디버깅하고 해결하는데 유용하게 사용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409890 □ [XE5] FireDAC에서는 데이터 변경 사항을 메모리에 캐쉬하여, DBMS에 일괄 업데이트, 취소할 수 있습니다. FireDAC – 캐쉬를 이용한 업데이트 캐쉬 업데이트는 애플리케이션의 메모리 영역(즉, 데이터셋)에 업데이트 내역을 기록하고, DBMS에 한번에 업데이트하거나 일괄취소할 수 있는 기능입니다. 캐쉬 업데이트를 사용 하면 작업내용을 로컬에서 관리하므로 DBMS와의 트래픽을 줄일 수 있고, 사용자는 인터넷 속도와 관계없이 빠르게 작업할 수 있습니다. 그리고 부가적으로 작업이력을 확인(변경된 레코드 조회, 변경된 값 확인 등)하고, 작업을 되돌리는 기능(최종작업 되돌리기, 선택 레코드 되돌리기 등)등이 메소드를 이용해 손쉽게 구현할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409889 □ [XE5] 30배 빠르게 복수의 데이터를 입력할 수 있습니다. FireDAC – Array DML FireDAC의 Array DML은 쿼리 전송 시 매개변수(Parameters)를 배열을 이용해 한번에 DBMS로 전달해 데이터 입력, 수정, 삭제 명령의 실행속도를 빠르게 하는 기능입니다. 이 방법은 DBMS와 애플리케이션 사이의 통신비용을 줄이고 DBMS 명령 요청을 줄입니다. 그 결과 실행 속도가 향상됩니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409950 □ [XE5] 쿼리의 결과가 많은 경우 일부 데이터만 가져오는 작업을 옵션 설정만으로 구현할 수 있습니다. FireDAC 캐스캐이딩 옵션 FireDAC은 FetchOptions(DBMS에서 데이터를 어떻게 취득할지 제어하는 검색옵션), FormatOptions(DBMS의 데이터형식을 FireDAC 데이터형식으로 또는 반대로 매핑하는 형식옵션), UpdateOptions(DBMS 업데이트 전송방법을 제어하는 업데이트 옵션), ResourceOptions(시스템 리소스 사용과 데이터셋의 지속성을 제어하는 자원 옵션), TxOptions(트랜젝션 실행방법을 제어하는 트랜젝션 옵션)을 이용해 다양한 방식으로 기능과 성능을 제어할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409959 □ [XE5] 오라클과 SQL서버, MySQL에서 모두 돌아가는 유연한 쿼리를 만들 수 있습니다. FireDAC 커맨드 텍스트 전처리 커맨드 텍스트 전처리는 SQL 명령을 데이터베이스에 전달하기 전 파라메터를 치환하고, FireDAC 매크로 함수를 DBMS에 맞도록 치환할 수 있습니다. 대체변수(파라메터 확장을 위해 SQL 문의 일부를 치환), 이스케이프 시퀀스(한번 작성하면 서로 다른 DBMS에서 그대로 사용할 수 있는 DBMS에 의존적이지 않은 SQL문 생성), 조건부 대체(연결된 DBMS에 따라 조건부로 실행되는 SQL 문 작성)를 사용할 수 있습니다. 자세히 보기: https://tech.devgear.co.kr/delphi_news/409997 □ [XE5] 데이터베이스 내용을 엑셀 형식의 CSV 파일로 내보내고 가져오는 기능을 구현할 수 있습니다. FireDAC ETL FireDAC의 ETL은 Extract, Transform, Load의 약자로 아래 역할을 합니다. • Extract(추출) : 같은 종 또는 이기종 데이터 소스로부터 데이터를 추출 • Transform(변환) : 쿼리 또는 분석하기 위한 데이터로 저장하기 위해 적절한 포맷과 구조로 변환 • Load(로드) : 최종 목적(데이터베이스, 더 구체적으로, 운용 데이터 저장소, 데이터 마트, 또는 데이터 창고)으로 로드 FireDAC ETL로 아래의 기능을 구현할 수 있습니다. • Query문으로 조회한 데이터를 엑셀에서 사용할 수 있는 CSV 파일로 내보내기 • 텍스트파일의 데이터를 데이터베이스 테이블로 가져오기 • 데이터베이스에서 다른 데이터베이스로 데이터 이동하기 자세히 보기: https://tech.devgear.co.kr/delphi_news/410458 □ [XE5] 데이터베이스에 연결하지 않고, 메모리 데이터셋에 대해 필터링 정렬 등을 사용할 수 있습니다. FireDAC – TFDMemTable TFDMemTable은 메모리 기반 데이터셋입니다. 즉, 데이터베이스 연결 없이 파일 데이터나 코드로 추가한 데이터를 메모리에 올려 데이터셋의 기능(필터링, 정렬 등)을 사용할 수 있습니다. TFDMemTable은 아래 기능을 할 수 있습니다. 디자인타임과 런타임 시 파일 불러오기(Load File), 파일로 내보내기(Save File), 다른 데이터셋의 데이터가져오기(Assign Data) 기능 사용 런타임 시 파일과 스트림으로 데이터 내보내기, 불러오기 기능을 사용할 수 있으며, JSON, XML, Binary 포맷 선택 가능 멀티티어 애플리케이션(REST 클라이언트, 데이터스냅 등)에서 수신 데이터를 보관하는 데이터셋 역할 내부에서 데이터 보관할 시 컬랙션객체(TList, TStringList) 대신 메모리테이블 사용 시 데이터셋의 기능(UI 컨트롤에 데이터바인딩, Local SQL, 필터링, 정렬 등)을 사용해 다양한 기능 손쉽게 구현 가능 Local SQL을 이용해 메모리테이블(데이터셋)에서 쿼리 실행 ETL 기능으로 다른 데이터소스(텍스트, CSV 등)에서 가져온 데이터 보관 자세히 보기: https://tech.devgear.co.kr/delphi_news/410575 □ [XE5] DB에서 가져온 데이터를 대상으로 다시 SQL 쿼리를 실행할 수 있습니다. FireDAC – LocalSQL Local SQL은 DB로부터 애플리케이션의 메모리 상으로 가져온 데이터(데이터셋: TDataSet을 상속받은 객체)를 대상으로 다시 SQL 쿼리를 할 수 있는 기능으로 아래와 같이 사용할 수 있습니다. 여러 이기종 DB들에 대한 쿼리 : 다양한 DB에서 가져온 여러 데이터셋을 대상으로 원하는 데이터 쿼리(조인 가능) 인 메모리 데이터베이스 : TFDMemTable은 메모리상에 있는 데이터셋의 역할 오프라인 모드 쿼리 : 원격 DB에 연결할 수 없는 경우에도, 이미 가져온 데이터셋을 대상으로 쿼리 실행 데이터스냅 클라이언트 쿼리 : 데이터스냅 서버(미들웨어)에서 받아온 데이터셋을 대상으로 쿼리 실행 간편한 마이그레이션 : 애플리케이션 내에서 써드파티를 통해 가져온 데이터셋 객체를 대상으로 쿼리 실행 자세히 보기: https://tech.devgear.co.kr/delphi_news/410465 □ [XE3] 윈도우8의 메트로 UI 모양과 느낌의 애플리케이션을 개발 할 수 있습니다. 메트로 UI 애플리케이션 개발 화면 터치에 최적화된 메트로 UI 애플리케이션을 만들 수 있습니다. File > New > Other 메뉴에서 Delphi Project > VCL Metropolis UI Application 으로 메트로 UI 애플리케이션 개발을 시작할 수 있습니다. □ [XE2] VCL 애플리케이션의 외관을 멋진 현대식 스타일을 적용할 수 있습니다. VCL 스타일 VCL 스타일은 VCL 애플리케이션의 모든 컨트롤, 폼의 테두리, 메뉴, 시스템 메뉴까지 일관되게 현대식 스타일을 적용할 수 있습니다. 별도의 코드 추가나 컴포넌트 추가 없이 프로젝트 옵션의 Appearance 화면(Project > Options > Application > Appearnace)에서 스타일 선택 및 적용할 수 있습니다. □ [XE2] 여러분만의 VCL 스타일을 만들 수 있습니다. Bitmap Style Designer Bitmap Style Designer는 VCL과 파이어몽키 스타일 파일 저작 도구입니다. File > New > VCL Style 메뉴로 새로운 스타일을 만들거나, Open 메뉴로 기존의 스타일 파일을 불러와 편집해 새로운 스타일 파일을 만들 수 있습니다. Tools > Bitmap Style Designer 메뉴를 통해 사용할 수 있습니다. (기본 제공되는 VCL 스타일 파일의 경로는 C:\Users\Public\Documents\Embarcadero\Studio\16.0\Styles(XE8 기준) 입니다.) □ [XE] 정규표현식을 이용하는 프로그램을 개발할 수 있습니다. TRegEx 클래스로 정규표현식 지원 TRegEx 클래스를 이용해 정규표현식을 지원합니다. View full RAD 스튜디오 버전별 신기능
  19. << 위로 이동 (최신 버전 포함 모든 버전) RAD 스튜디오 2010~6.0 "새 기능 한글 요약본: VCL과 RTL" 입니다. 모든 새 기능, 강화된 기능, 버그 픽스 등에 대해서는 Docwiki의 What's New 목록 (영문 보기, 한글번역 보기) 와 관련 페이지를 보기 바랍니다. □ [2010] 경로, 파일, 디렉토리 관련된 함수 사용이 편리해 졌습니다. System.IOUtils 클래스 TDirectory, TPath, TFile 등의 클래스들을 지원하여 로컬 디스크상의 디렉토리, 파일들을 훨씬 간단하게 검색, 액세스 가능합니다. □ [2010] 키오스크나 태블릿 개발에 유용한 가상키보드를 개발할 수 있습니다. TTouchKeyboard 컴포넌트 가상 키보드 컴포넌트인 TTouchKeyboard가 추가되어, 터치나 마우스 클릭으로 키 입력을 할 수 있게 되었습니다. 키오스크나 태블릿 개발에 아주 유용합니다. 터치키보드는 상속하여 간단히 원하는 언어 키보드를 구현할 수 있으며, 숫자 키패드로 바꿀 수도 있습니다. □ [2010] TCanvas와 유사한 TDirect2DCanvas로 Direct2D 개발이 가능합니다. Direct2D 지원 이제 델파이에서도 손쉽게 Direct2D 개발을 할 수 있습니다. 더욱이, 델파이 개발자들이 익숙한 TCanvas와 유사하게 TDirect2DCanvas로 만들어져 기존의 TCanvas로 개발해본 개발자라면 누구나 쉽게 배워 활용할 수 있습니다. □ [2010] TIFF와 RAW 포맷을 이미지컴포넌트에서 사용할 수 있습니다. TIFF 및 RAW 이미지 지원 WIC(Windows Imaging Components)를 지원함으로써, 스캐너, 팩스 등 수많은 분야에서 사용되는 범용 이미지 포맷 중의 하나인 TIFF를 직접 지원하게 되었습니다. 또한 최근 디지털 카메라에서 고급 이미지를 위해 많이 사용되는 RAW 포맷들도 WIC를 통해 지원하게 되었습니다. □ [2009] MS 오피스와 같은 리본 인터페이스를 쉽게 개발할 수 있습니다. 리본 컨트롤 MS 오피스에서 도입된 리본컨트롤을 컴포넌트로 지원해, 다른 개발툴들처럼 복잡한 코딩 없이 폼 디자인만으로 간단히 리본 컨트롤을 추가하고 다룰 수 있습니다. □ [2009] 컴포넌트 속성 설정만으로 멀티터치와 제스처를 구현할 수 있습니다. 멀티터치 / 제스처 지원 이제 델파이의 모든 컨트롤에서 터치 인터페이스를 지원하게 되었으며, 특히 특별한 코딩 없이 컴포넌트 수준의 설정만으로도 터치와 제스츄어를 지원합니다. 이를 위해 델파이 2010에서는 대부분의 VCL 컨트롤에서 Touch 속성이 추가되었으며, 여기서 지정된 GestureManager 컴포넌트를 통해 제스처도 지원됩니다. 기존 애플리케이션에도 간단히 터치 인터페이스를 추가할 수 있습니다. 델파이에서는 기본적으로 30개의 표준 제스처를 지원하며, 개발 중에 Custom Gesture를 추가하거나 혹은 런타임에 GestureRecorder 컨트롤을 이용하여 쉽게 사용자 제스츄어를 기록할 수 있습니다. □ [2009] 비슷한 범주의 버튼을 그룹으로 묶어서 제공할 수 있습니다. TButtonGroup 컴포넌트 비슷한 범주의 버튼을 그룹으로 묶어서 사용할 수 있습니다. 델파이 IDE의 툴 팔레트 카테고리 선택 UI도 TButtonGroup으로 제작되었습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 에디터 컴포넌트에 이미지 버튼을 쉽게 넣을 수 있습니다. TButtonEdit 컴포넌트 에디트 컴포넌트에 이미지 버튼을 가진 컴포넌트입니다. LeftButton, RightButton 속성에 이미지를 지정할 수 있으며 OnLeftClick, OnRightClick 이벤트로 클릭을 제어할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] ListView의 그룹을 직접 설정하고, 그룹마다 이미지를 지정할 수 있습니다. ListView 그룹화 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 사용자 알림에서 제목, 설명과 이미지를 추가할 수 있습니다. TBalloonHint 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩의 사이드바와 같이 접었다 펴지는 UI를 구현할 수 있습니다. TCategoryPanelGroup 컴포넌트 아웃룩의 사이드바와 같은 작업을 합니다. 여러개의 다른 패널을 추가할 수 있고 각기다른 패널에 VCL 컴포넌트를 추가할 수 있습니다. 타이틀, 이미지, 정렬과 아이콘을 각기 다르게 구현할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 아웃룩 사이드바와 같은 카테고리 별 그룹과 버튼을 갖는 UI를 구현할 수 있습니다. TCategoryButtons 컴포넌트 자세히 보기: http://tech.devgear.co.kr/411088 □ [2009] 그리드 컴포넌트의 스타일을 지정할 수 있습니다. 그리드 컴포넌트의 DrawingStyle 속성 Themed, Gradient 스타일이 그리드 컴포넌트에 추가되었습니다.(기본값 = gdsThemed) 자세히 보기: http://tech.devgear.co.kr/411088 □ [2007] 최신 윈도우의 가이드라인에 맞는 애플리케이션을 만들 수 있습니다. 최신 윈도우 공식지원 델파이 XE3에서 Windows 8을 델파이 2010에서 Windows 7을 델파이 2007에서 Windows Vista를 공식 지원합니다. 따라서 델파이로 빌드한 애플리케이션은 마이크로소프트의 윈도우 가이드라인을 준수하게 되며, 해당 윈도우에서 아무 문제 없이 동작합니다. □ [2007] 프로젝트 옵션 설정으로 윈도우 테마 지원 적용을 간단하게 할 수 있게 되었습니다. 윈도우 테마 지원 개선 Delphi 7에서는 Windows XP의 테마 기능을 지원하기 위해 XPMan (TXPManifest 컴포넌트) 방식을 사용했습니다. Delphi 2007 이후로는 이런 테마 지원이 더 네이티브 해져서, 프로젝트 옵션에서 Runtime Theme 선택(또는 Enable runtime Themes 체크)하면 전체 프로젝트에 대해 간편하게 테마 지원을 추가할 수 있습니다. 이 옵션은 Delphi 2007 이상에서 새로 만든 프로젝트에서는 기본으로 적용되며, Delphi 2006 이하의 구버전에서 작성된 소스에 대해서는 호환성을 위해 체크가 안되어 있습니다. (XPMan 방식을 사용한 경우 이 체크를 하면 충돌하며, 그런 경우 이 개선된 테마 지원을 사용하려면 프로젝트의 모든 유닛들의 uses 리스트에서 XPMan 유닛을 제거해야 합니다) □ [2006] 메모리 매니저와 RTL 함수가 교체되어 성능이 향상된 애플리케이션을 만들 수 있습니다. FastMM 메모리 매니저 도입 FastMM은 전통적인 Delphi의 메모리 매니저인 borlndmm.dll을 대체하는 것으로서, 이전보다 훨씬 빠른 메모리 루틴들을 제공하여 Delphi로 개발된 애플리케이션의 속도를 비약적으로 끌어올려줍니다. 또한 FastMM으로 인해 Delphi의 RTL에 메모리 관리 관련의 새로운 기능들이 많이 추가되었습니다. 전역 변수인 ReportMemoryLeaksOnShutdown에 True 값을 설정해두면, 프로그램이 종료될 때 메모리 누수 상황에 대해 알려주며, 메인 exe와 dll 사이에 메모리를 간단히 공유할 수도 있습니다. □ [2006] 마우스 중앙 버튼을 누르면 스크롤링 하는 기능을 개발할 수 있습니다. 인텔리마우스 지원 VCL 인텔리마우스 API를 지원합니다. 예를 들어 왼쪽 그림처럼 TMemo 컴포넌트 위에서 마우스 중앙 버튼을 누르면 사용자로 하여금 메모 내에서 스크롤링 하기 위해 마우스를 사용할 수 있도록 해 줍니다. 델파이 코드 에디터도 이 기능을 지원합니다. □ 작업표시줄 영역에 트레이 아이콘을 추가하고 풍선 도움말과 팝업메뉴를 제공할 수 있습니다. TTrayIcon 컴포넌트 TTrayIcon 컴포넌트는 VCL 애플리케이션이 태스크 트레이에 아이콘을 넣을 수 있도록 해줍니다. 이 컨트롤은 풍선 도움말과 팝업 메뉴를 지원합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ PNG, GIF를 지원할 수 있습니다. PNG, GIF 지원 bmp, jpeg 이미지 지원에 이어, 이제 VCL에서 PNG 및 GIF이미지 포맷도 지원됩니다. 또한 이미지 리스트 컴포넌트에서 png 파일을 직접 읽어 들일 수 있어 전보다 더 편리하게 되었습니다. □ 컨트롤의 여백을 설정해 컨트롤 배치를 더 다양하게 할 수 있습니다. VCL – Margins와 Padding 모든 VCL 컨트롤에 Padding 및 Margin 프로퍼티가 추가되었습니다. 이 두 프로퍼티는 HTML에서와 비슷하게 동작하는데, Padding은 컨테이너 컨트롤이 내부의 컨트롤과 가지는 여유 공간의 픽셀 길이입니다. Margin 프로퍼티는 컨트롤의 바깥 여유 공간입니다. 컨트롤의 AlignWithMargins 프로퍼티가 True로 지정되고 Align 프로퍼티가 alNone이 아닌 값으로 지정되면 해당 컨트롤의 Margin 프로퍼티 값에 따라 배치됩니다. 예를 들어, 그림은 폼 위에 있는 TPanel을 보여줍니다. 이 패널은 Align이 alClient로, AlignWithMargins 속성이 True로 지정되었으며, Margin 속성은 20으로 지정된 상태입니다. 또한 폼의 Padding.Bottom 속성은 30으로 지정되었습니다. AlignWithMargins와 Margin 속성을 이용하면 기존의 Align 속성만 이용할 때보다 훨씬 쉽고 풍부하게 컨트롤들을 배치할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 표준 HTML 링크가 들어있는 라벨을 사용할 수 있습니다. TLinkLabel 컴포넌트 위의 사진은 Caption에 “ 데브기어 홈페이지를 클릭하세요.”을 입력하고 실행한 결과입니다. 링크를 클릭하면 OnLinkClick 이벤트가 발생합니다. 자세히 보기: http://tech.devgear.co.kr/411088 □ 사용자의 결정이 필요한 경우, 여러가지 선택지를 제공하여 사용자의 의견을 정교하게 받을 수 있습니다. TTaskDialog 컴포넌트 TTaskDialog 컴포넌트는 비스타에서 새로 도입된 태스크 다이얼로그 기능을 사용할 수 있게 해주는 컴포넌트입니다. 개발자는 오브젝트 인스펙터를 이용하여 TaskDialog의 모양을 커스터마이즈할 수 있습니다. 자세히 보기: http://tech.devgear.co.kr/411088 View full RAD 스튜디오 버전별 신기능
×
×
  • Create New...

중요한 정보

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