! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

[WinForms] Spread Skin 사용자 정의 > 온라인 스터디

본문 바로가기

Spread.NET

온라인 스터디

4. 스타일 [WinForms] Spread Skin 사용자 정의

페이지 정보

작성자 GrapeCity 작성일 2021-10-26 09:51 조회 1,125회 댓글 0건

본문

Spread.NET에서는 다양한 스타일을 지정 가능합니다. 헤더 셀의 색상을 변경하거나, 드래그 하여 선택한 영역을 표시하는 색상을 변경하거나, 시트의 그리드를 표시하지 않는 것도 가능합니다.


이번 글에서는 Spread Skin을 사용자 정의하는 방법에 대해 살펴보도록 하겠습니다.




Spread Skin 사용자 정의 


스프레드시트 컴포넌트에 스킨을 적용하여 스프레드시트 컴포넌트의 모양을 빠르게 사용자 정의할 수 있습니다. 스킨색상, 그리드 및 헤더 표시 여부와 같이 전체 구성 요소 또는 개별 시트에 적용되는 모양 속성의 모음입니다. 스킨을 사용하면 속성을 개별적으로 설정하는 시간과 노력을 절약할 수 있습니다. Spread.NET에는 기본적으로 여러 내장 스킨이 포함되어 있습니다. 또한 고유한 사용자 정의 스킨을 만들고 저장하여 일반 형식의 다른 스프레드 컴포넌트에서 사용할 수 있습니다. 다음에 대해 스킨을 사용자 정의할 수 있습니다.

  • Column footers style : 열 바닥글 스타일

  • Column headers style : 열 머리글 스타일

  • Sheet corner style : 시트 모서리 스타일

  • Data area default style : 데이터 영역 기본 스타일

  • Filter bar default style : 필터바 기본 스타일

  • Filter bar header default style : 필터바 헤더 기본 스타일

  • Focus renderer : 포커스 렌더러

  • Interface renderer : 시트 탭 및 분할 상자와 같은 많은 통합 문서 관련 색상 및 요소를 포함하는 인터페이스 렌더러

  • Row header default style : 행 헤더 기본스타일

  • Scroll bar renderer : 스크롤바 렌더러

  • Selection renderer : 선택 영역 렌더러

  • Status bar skin : 상태표시줄 스킨

Spread Skin은 SpreadSkin 클래스를 통해 사용자 정의 될 수 있습니다. 지금부터 사용자정의 스킨을 생성 및 적용하고, 해당 스킨을 저장하고 다시 로드하는 과정을 순차적으로 살펴보겠습니다.

  1. 먼저, 새 프로젝트를 생성하고 도구상자에서 fpSpread 컨트롤을 폼으로 드래그 앤 드롭합니다. 스프레드시트 속성 패널에서 Dock 속성을 Fill로 설정하여 스프레드시트를 폼 안에 가득 채웁니다. 아래 그림에서는 별도의 스킨을 적용하기 전 상태이므로, 기본 스킨(Excel 2016 Color)이 사용되었습니다.

    ef1ebabf6273c16c7232abacc0970fdf_1635124895_5869.png

  2. 스프레드시트 - 우클릭 - 코드 보기(F7)를 통해 Form.cs 파일로 이동합니다. Form() 메소드에서 SpreadSkin 생성자로 사용자 정의 스킨 객체를 생성합니다.

    // 사용자 정의 스킨 선언
    FarPoint.Win.Spread.SpreadSkin mySkin = new FarPoint.Win.Spread.SpreadSkin();


  3. 본 예제에서는 기본 스킨(Excel 2016 Color)에서 좌상단 코너 셀의 색상만 오렌지 색으로 변경한 스킨을 정의하겠습니다. 먼저, SpreadSkin.CopyFrom(SpreadSkin) 메소드를 사용하여, 기본 스킨의 설정을 사용자 정의 스킨에 복사합니다.

    // 기본 스킨의 설정을 mySkin에 복사
    mySkin.CopyFrom(FarPoint.Win.Spread.DefaultSpreadSkins.Office2016Colorful);

    2,3번 과정을 아래와 같이 한 줄의 코드로 구현할 수도 있습니다.

    FarPoint.Win.Spread.SpreadSkin mySkin = new FarPoint.Win.Spread.SpreadSkin(FarPoint.Win.Spread.DefaultSpreadSkins.Office2016Colorful);

  4. SpreadSkin.CornerDefaultStyle의 BackColor 속성에 오렌지 색을 할당합니다. 아래 다섯 가지 방법 중 한 가지를 선택하여 적용할 수 있습니다.

    // 좌상단 코너 색상을 오렌지 색상으로 변경
    
    // 1.HEX 코드 값이 #FFA500인 시스템 정의 색을 반환하는 Color.Orange를 통해 배경색 설정
    mySkin.CornerDefaultStyle.BackColor = Color.Orange;
    
    // 2. HEX 코드 값 #FFA500을 통해 배경색 설정
    mySkin.CornerDefaultStyle.BackColor = ColorTranslator.FromHtml("#FFA500");
    
    // 3. RGB 값을 입력하여 배경색 설정
    mySkin.CornerDefaultStyle.BackColor = Color.FromArgb(255, 165, 0);
    
    // 4. ARGB 값을 입력하여 배경색 설정
    mySkin.CornerDefaultStyle.BackColor = Color.FromArgb(255, 255, 165, 0);
    
    // 5. Int32 Argb 값으로 배경색 설정
    mySkin.CornerDefaultStyle.BackColor = Color.FromArgb(-23296);

  5. SpreadSkin.Apply(spread) 메소드를 사용하여 정의한 스킨을 스프레드 컴포넌트에 적용합니다.

    //커스텀 스킨 적용
    mySkin.Apply(fpSpread1);

  6. 작성된 코드를 실행하면 다음과 같이, 좌측 상단 모서리 셀의 배경 색상이 변경된 것을 확인할 수 있습니다.

    ef1ebabf6273c16c7232abacc0970fdf_1635125055_9592.png

  7. 이제 정의한 스킨을 저장해 보겠습니다. SpreadSkin.Save(skin, fileName) 메소드를 사용하여, 정의한 스킨을 원하는 이름으로 지정한 경로에 저장합니다.

    //커스텀 스킨 저장
    FarPoint.Win.Spread.SpreadSkin.Save(mySkin,"C:\\MySkin.skn");

  8. SpreadSkin.Load(fileName) 메소드로 스프레드 스킨을 불러올 수 있습니다. 본 예제의 샘플에서는 주석처리 되어 있습니다.

    // mySkin을 전체 스프레드에 로드
    FarPoint.Win.Spread.SpreadSkin.Load("C:\\MySkin.skn").Apply(fpSpread1);

코드를 사용하는 방법 외에, 스킨 편집기를 통해 스킨을 변경할 수도 있습니다. 스킨 편집기를 여는 방법은 아래의 2가지 입니다.

  • Spread 속성 창 하단의 스킨 편집 클릭

  • Spread 우클릭 후 스킨 편집 선택

스프레드 스킨 편집기에서 사전 정의 스킨 중 하나를 선택하여 적용하거나, 사용자 정의 스킨을 생성하여 사용할 수 있습니다.


 

샘플을 다운로드하여 전체 코드를 확인해 보실 수 있습니다.

CustomSkin - 샘플 다운로드




지금 바로 Spread.NET을 다운로드하여 직접 테스트해보세요!

spnet.png


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.