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

[버전정보] 11.0 알렉산드리아 VCL


Recommended Posts

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

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

11.0 알렉산드리아 - VCL 관련 주요 업데이트 요약


RAD 스튜디오는 11.0에서 VCL 라이브러리에 작은 개선을 많이 했다. 주로 윈도우 10과 일치하지 않는 몇가지 XP 잔재를 제거하기, 그리고 핵심 라이브러리 기능을 향상하기에 촛점을 맞추었다. 

TRichEdit 컴포넌트 RichEdit 4.1로 업데이트 (MSFTEDIT.dll)

image.png

TRichEdit 컨트롤이 새로 구현되었다. 더 최신 윈도우를 지원한다. 또한 TDBRichEdit.Lines 는 이제 퍼블릭 프로퍼티이다. URL 활성화 (EnableURLs), 힌트에 URL 표시 (ShowURLHint), 선택된 텍스트를 친근한 URL로 교체(SetSelTextToFriendlyURL) 등이 URL 감지 기능에 추가되었다.

Text 어트리뷰트도 일부 변경되었다. 프로퍼티에 BackColor, Disabled, Hidden, Link, Offset, RevAuthor, Subscript가 추가되었다.

TParaAttributes에도 cpaAlignment, cpaNumbering, cpaFirstIndent, cpaLeftIndent, cpaRightIndent, cpaTabStops 등 새 타입이 생겼다.  ConsistentAttributes 프로퍼티가 새로 생겼다 .

마지막으로, TCustomRichEdit에 새 퍼블릭 메소드 RenderRange 가 추가 되었다.

 

VCL 현대화 작업

새 기본 폰트

image.png

VCL 애플리케이션용 기본 글꼴은 이제 "Segoe UI, 9"이다. VCL 스타일의 제목 글꼴도 같은 기본 글꼴이 적용된다.

 

Memo와 RichEdit에 새 프로퍼티 EditMargins 추가

TCustomMemo에 새 프로퍼티가 추가됬다. 

EditMargins 속성을 이용해 에디터 안쪽 좌/우측 여백을 설정할 수 있다.

  • TCustomMemo를 상속받은 TMemo, TDBMemo, TRichEdit, TDBRichEdit에 모두 퍼블리쉬(published) 된다. 

image.png
그림. TMemo은 TCustomMemo를 상속받기때문에 EditMargins 프로퍼티를 이용하여 에디터 안쪽 좌/우측 여백을 지정할 수 있다. Auto를 True로 지정하면, 글꼴 크기에 맞게 여백이 반영된다.

 

그룹박스와 라디오그룹용 외곽선 표시 설정 및 헤더 폰트 속성 추가

image.png

  • ShowFrame: 외곽선 표시 여부를 결정
  • HeaderFont: 그룹 헤더의 폰트를 설정
  • DefaultHeaderFont: 그룹 헤더에 디펄드 폰트를 적용할 것인지 여부를 지정

TCustomGroupBox를 상속받은 TGroupBoxTRadioGroup에 모두 적용된다.

 

image.png

  • DropDownWidth: 드롭 다운 항목 상자의 폭을 지정
  • AutoDropDownWidth: 드롭 다운 항목에 맞게 자동으로 항목 상자의 폭이 변경됨

TCustomComboBox를 상속받은 TComboBox, TDBComboBox, TDBLookupComboBox 등의 컴포넌트에 적용된다.

 

TTreeView에 체크박스 표시 기능 추가

image.png

CheckBoxes 프로퍼티: 체크 박스 표시 여부를 지정 (더 자세한 내용: https://blogs.embarcadero.com/vcl-new-features-in-rad-studio-11/)

 

TWICImage 다중 프레임 지원

TWICImage 타입에 새로 추가된 FrameCountFrameIndex 프로퍼티를 함께 이용하면, 유효한 모든 다중 프레임 이미지 파일을 읽을 수 있다.

 

새 TLabelDBEdit 컴포넌트

TLabeledEdit VCL 컨트롤의 데이터 인식버전인 TDBLabeledEdit 컴포넌트가 새로 추가되었다. 이것을 구현하기 위해 관련된 컨트롤의 계층 구조가 변경되었다.

  • TCustomLabeledEdit
    • TCustomMaskEdit로부터 상속됨
    • 새 프로퍼티: Align, EditMask, 등 TCustomMaskEdit에 의해 상속받게 된 것들
  • TDBEdit
    • TCustomLabeledEdit로부터 상속됨
  • TDBLabeledEdit
    • 새 컨트롤: TDBEdit로부터 상속됨

또한, TFlowPanel과 TGridPanel 컨테이너 안에 TLabeledEdit 컨트롤이 들어갈 수 있다.

 

에러 메시지 강화

image.png

  • 스트림으로 폼을 생성하는 동안 오류가 발생하면 오류 메시지에 파일 이름이 표시된다.
  • 예외 대화창에서 오류 메시지를 클립보드로 복사할 있도록 "Copy" 버튼이 추가되었다.

 

쿨바 셰브론 지원

image.png

쿨바(TCoolbar)에 셰브론(Chevron)을 표시할 수 있는 ShowChevron 프로퍼티가 추가되었다.

쿨바의 밴드에 툴바(TToolbar)를 설정하고, Wrapable 속성을 False로 설정한 경우 툴바 아이콘이 표시되지 않는 너비인 경우 셰브론이 표시된다.

 

NumberBox 강화

TNumberBox는 10.4.2에서 새로 추가된 컨트롤이다. 이제 여기 새 기능이 추가되었다.

  • CurrencyFormat 타입이 Byte에서 TNumberBoxCurrencyFormat으로 변경
  • ValueCurrency 프로퍼티 새로 추가
  • DisplayFormat 프로퍼티가 이제 퍼블리쉬(published) 이므로 오브젝트 인스펙트에 표시된다.

 

쓰레드 안전성 강화

일반적으로 UI 컨트롤은 메인 UI 쓰레드에서 생성되어야 한다. 만약 VCL 컨트롤을 백그라운드 쓰레드에서 생성하면,  생성 행위가 정의되지 않고 access violation 에러 즉 상당히 불분명한 에러를 유발한다.

이런 이유 때문에 새로 추가된 클래스 프로퍼티: TControl.RaiseOnNonMainThreadUsage

이 프로퍼티가 True 지정되면, 메인 쓰레드가 아닌 쓰레드에서 TWinControl 윈도우 핸들이 생성되는 경우 VCL은 예외를 발생시켜서 실수로 인해 생길 수 있는 문제를 방지하도록 한다. COM 또는 기타 경우에는 부가(secondary) 쓰레드에서 핸들을 생성하는 것이 정당하므로 VCL 역시 마찬가지로 여전히 허용한다.

 

VCL StyleUtils.inc 일반 유닛으로 전환

인클루드 파일인 StyleUtils.inc  이제 일반 유닛으로 변환되었다. 이제 개발자( 컴포넌트 제공자)는 자신들의 코드와 VCL 스타일을 더 잘  통합할 있게 되었다. 예전에 인클루드 파일이었을 때에는 프라이빗 타입으로 정의되어 있어서 변형과 확장이 대체로 불가능했었지만, 이 새 유닛에서는 가능하다.

주의:  코드를 유닛으로 옮기고 일부 데이터 타입을 퍼블릭(public)으로 지정하여 접근할 수 있게 하는 데에 동의했지만, 우리는 여전히 이 스타일  API를 변경할 권리가 있으며 VCL과  RTL 라이브러리에서 일반적으로 제공하는 외부 코드와 호환성 수준을 계속 동일하게 유지한다고 보장하지는 않는다.

 

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 라는 새 프로퍼티에서 관리한다. 기본값은 False인데 이전(backward) 호환성을 유지하기 위해서이다. 만약 True로 지정하면 Undo를 호출하도록 (또는 UI 화면에서 Undo를 작동시킬 수 있도록) 허용하기 때문에  SetSelText 또는 SetSelTextBuf를 호출했거나 또는 SelText 프로퍼티에 값을 할당했기 때문에 발생된 변경을 취소할 수 있다.
  • 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 스튜디오 버전별 신기능

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

이 토의에 참여하세요

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

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...

중요한 정보

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