Delphi 델파이XE2의 VCL Styles 활용하기

2012.01.19 00:54

박병일 조회 수:15363

VCL Styles  ?

이전의 윈도우 화면들은 하나의 테마만을 지원하였습니다. 델파이 XE2에서는 여러 가지 스타일들을 제공하여 다양하고 멋진 윈도우 화면을 작성할 수 있으며 또한 새로운 스타일 타입을 생성하여 적용할 수 있는 VCL Styles을 지원합니다. TWinControl 및 TGraphicControl 컴포넌트들에 적용할 수 있습니다(단 TRibbonControl, TMainMenu, TPopupMenu등에는 적용되지 않습니다).

스타일리쉬한 Fish Facts 작성     

동일한 프로그램을 VCL Styles을 이용하여 다양한 스타일의 화면으로 보여주고, 새로운 스타일을 작성하여 적용하여 보겠습니다.

1.       File->New->VCL Forms Application 메뉴를 시작하여 프로젝트를 시작합니다.

2.       화면을 아래와 같이 디자인하여 컴포넌트들을 연결합니다.


컴포넌트

속성

TMainMenu

Item를 클릭하거나 컴포넌트를 더블클릭하여 다음과 같이 디자인합니다. 

TSQLConnection

Driver

InterBase

Driver.DataBase

C:\Program Files (86) \Common Files\CodeGear Shared\Data\DBDEMOS.GDB

Driver.UserName

sysdba

Driver.Password

masterkey(소문자)

LoginPrompt

False

TSQLQuery

SQL Connection

SQLConnection1

SQL

select * from biolife

T DataSetProvider

DataSet

SQLQuery1

T ClientDataSet

ProviderName

DataSetProvider1

TDataSource

DataSet

ClientDataSet 1

TDBGrid

DataSource

DataSource1

 

3.       메뉴 리스트에 있는 VCL Style들을 사용하기 위해서는 아 래와 같이 Project Option창에서 스타일들을 선택합니다.

 

4.                    File 의  Connect Active 메뉴의 OnClick 이벤트 핸들러를 디음과 같이 구현하여 데이터베이스와 연결합니다.

procedure TForm1.ConnectionActive1Click(Sender: TObject);

begin

  SQLConnection1.Connected := not SQLConnection1.Connected;

  ClientDataSet1.Active := not ClientDataSet1.Active;

  ConnectionActive1.Checked := SQLConnection1.Connected;

end;

 

5.       각 메뉴 항목의 OnClick 이벤트 핸들러를 구현하여 지정한 스타일로 표시합니다.

TStyleManager.SetStyle(' Aqua Graphite ');

TStyleManager.SetStyle(' Aqua Light Slate ');

TStyleManager.SetStyle(' Emerald Light Slate ');

TStyleManager.SetStyle(' Golden Graphite ');

TStyleManager.SetStyle(' Ruby Graphite ');

TStyleManager.SetStyle('Windows');

 

6.          프로그램을 실행하여 화면 스타일을 변경해 봅니다. 왼쪽은 원래의 윈도우 스타일이고 오른쪽은 Ruby Graphite Style를 선택한  화면입니다.


 
  

 

7.       이번에는 새로운 스타일을 만들어서 적용해 보도록 하겠습니다. 

 

8.                    Tools 메뉴에서  VclStyleManager 를 실행합니다. VclStyleManager는 VCL Styles를 새로 작성하거나 편집하기 위해서 사용합니다.

 

 

 

 

9.          아래와 같은 VclStyleManager 화면이 표시됩니다.

10.   File->Open 메뉴에서 “C:\Documents and Settings\All Users\Documents\RAD Studio\9.0\Styles ¥RubyGraphite.vsf  를 선택하면 스타일의 정보가 표시됩니다.

11.       File->New 메뉴를 선택하거나 Ctrl +N로 새로운 VCL Style을 작성합니다(Name을 My Graphite 로 설정합니다.)

              

12.       원하는 원하는 아이템들을 수정하고 C:\Documents and Settings\All Users\Documents\RAD Studio\9.0\Styles 에 MyGraphite.vsf 로 저장합니다. 여기서는 화면의 Caption->Image->Title->Caption->SysButtons->CaptionTitle의 Color를 노란색으로 변경하였습니다.

 

13.       프로젝트 Options에서 아래와 같이  My Graphite  라는 VCL Style이 추가된 것을 확인하실 수 있습니다.


14.       My Graphite를 선택하고 프로그램을 실행하여 메뉴에서  My Graphite  를 클릭하면 다음과 같이  작성한 스타일로 적용됩니다.

 

 


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15437
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22054
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18923
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39253
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174698
583 (작성 중) 파이어몽키 모바일 개발에 대한 FAQ [1] 험프리 2015.12.01 495
582 이 달의 기술자료 - 2015년 12월 file 험프리 2015.11.27 531
581 [업데이트][10 시애틀] RAD Studio 10 시애틀 서브스크립션 업데이트 1 [3] file 험프리 2015.11.25 1572
580 [발표자료] 20151124 온라인세미나: 델파이 코드 마이그레이션 Step by Step 관리자 2015.11.25 580
579 BPL(패키지)를 이용해 프로그램 모듈화 하기 험프리 2015.11.24 1126
578 [발표자료] 20151119 델파이 소스코드의 재발견 관리자 2015.11.20 619
577 [마이그레이션][팁] 유니코드 검토 대상 분석 도구 다운로드 [1] file 험프리 2015.11.16 1845
576 [마이그레이션][팁] 설치된 컴포넌트 확인 팁 file 험프리 2015.11.12 787
575 [마이그레이션][팁] 배치파일(커맨드 명령어)을 이용해 손쉽게 소스파일 갯수를 파악할 수 있습니다. file 험프리 2015.11.12 2638
574 [안드로이드] 배포파일, 아이콘, 스플래쉬 등이 잘 배포되었는지 확인하기 file 험프리 2015.11.11 1524
573 이 달의 기술자료 - 2015년 11월 file 험프리 2015.10.30 745
572 [발표자료] 20151019 David I 초청 워크샵: 윈도우 애플리케이션 개발자를 위한 DeepDive! 관리자 2015.10.20 589
571 [시애틀] 블루투스 LE를 지원하는 디바이스에서 비콘 광고데이터를 발생할 수 있습니다. file Humphery 2015.10.06 689
570 [시애틀] 모든 종류의 안드로이드 인텐트(Intent)를 처리할 수 있습니다. Humphery 2015.10.06 848
569 [시애틀] BSON(Binary JSON)을 처리하고, JSON 데이터를 스트리밍 모델로 읽고, 쓸수 있습니다. file Humphery 2015.10.05 1718
568 [시애틀] IDE 메모리 개선으로 더 큰 프로젝트를 더 빠르게 코딩하고, 더 빠르게 컴파일 할 수 있습니다. 험프리 2015.10.05 442
567 [시애틀] 작업 중 비정상 종료 시 저장하지 않은 작업을 복구할 수 있습니다. file Humphery 2015.10.05 1016
566 [시애틀][VCL] 고해상도 모니터(4K 모니터와)와 멀티 모니터(모니터 당 DPI)를 지원합니다. [1] Humphery 2015.10.05 1303
565 [따라하기] 건강데이터 수집 및 기록 시스템 #1 - BLE 기반 스마트 체중계에서 실시간 데이터 받기 [1] Humphery 2015.10.02 5794
564 [다시보기] RAD Studio 10 시애틀 딥다이브 세션 다시보기(영문) Humphery 2015.10.02 552