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 15427
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16497
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22054
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18922
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39253
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174698
463 [다음 버전 정보] 멀티-디바이스 미리보기 창 관리자 2015.03.19 1347
462 [FireDAC Skill Sprints] 6. 전처리: SQL문을 유연하게 작성할 수 있는 Param와 Macro 사용하기 Humphery 2015.03.13 1683
461 [FireDAC Skill Sprints] 5. Cascading Options: 고급기능을 활용 할 수 있는 FireDAC 옵션 Humphery 2015.03.11 1308
460 [FireDAC Skill Sprints] 4. ArrayDML로 30배 빠르게 데이터 입력하기 Humphery 2015.03.11 1493
459 엠바카데로에 직접 문의해 답변을 받아볼 수 있습니다.(퀄리티 포털 사용방법 안내) 험프리 2015.03.09 1238
458 [고객 사례- 의료, 델파이] 전북대학교 병원 file 관리자 2015.03.09 2309
457 [FireDAC Skill Sprints] 2. FireDAC으로 DBMS 사용 내역 추적, 모니터링 하기 Humphery 2015.03.07 1538
456 [FireDAC Skill Sprints] 3. 캐쉬를 이용한 업데이트와 자동증가필드(Identity) 적용 Humphery 2015.03.07 1495
455 웹사이트의 인증서 오류를 무시하고 http 결과 조회하기(WinInet 이용) Humphery 2015.03.06 2089
454 [XE7] iOS 시뮬레이터 배포 시 'Please specify exact device preset UUID.' 오류 대응 Humphery 2015.02.26 1535
453 안드로이드 하드웨어 백버튼 제어하기 Humphery 2015.02.25 2519
452 [VCL] TaskDialog 컴포넌트 소개 Humphery 2015.02.25 1092
451 이 달의 기술자료 - 2015년 03월 험프리 2015.02.25 15872
450 20150224 [온라인세미나] VCL개발자를 위한 Speed UP! RAD스튜디오 발표자료 관리자 2015.02.25 880
449 파이어몽키 용 그리드 컴포넌트 안내 - FirePower Humphery 2015.02.23 1441
448 [Delphi week 2015] 윈도우 3.11에서 델파이1.0 사용하기 관리자 2015.02.13 1138
447 [VCL] 에디트/버튼의 다양한 속성 소개 Humphery 2015.02.13 1719
446 [XE7] 안드로이드 WiFi 상태조회와 설정하기 Humphery 2015.02.12 1875
445 [XE7] 안드로이드 블루투스 활성화 조회와 설정하기 [1] Humphery 2015.02.12 1772
444 [무료 온라인 세미나] Delphi Week 2015 file 관리자 2015.02.07 1014