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

Spread 설정에 관해 질문드립니다 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 Spread 설정에 관해 질문드립니다

페이지 정보

작성자 swkn 작성일 2024-02-22 11:55 조회 76회 댓글 0건
제품 버전 : Spread.Net 16.2
컨트롤 이름 : Spread

본문

안녕하세요.

수고하십니다.

혹시 시트에 Protect를 걸고도 컬럼헤더 글자색을 변경할 수 있나요?


컬럼헤더가 Locked 걸렸을 때도 글자색이나 폰트변경이 가능한지 궁금합니다.


또한 legacy behavior가 none인 경우와 style인 경우의 차이가 뭔지도 궁금합니다.

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: Spread 설정에 관해 질문드립니다

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2024-02-26 15:14 댓글 0건

본문

swkn 님, 안녕하세요.

메시어스입니다.


1. 컬럼헤더가 Locked 걸렸을 때도 글자색이나 폰트변경이 가능한지 궁금합니다.


헤더 셀의 BackColor/ForeColor는 레더 렌더링에 의해 정의됩니다.

사용자 정의 컬럼 헤더 렌더러를 정의 및 적용하여, 시트 보호가 설정되었을 때 시트 보호가 설정된 상태일 때의 컬럼헤더 글자색/배경색/폰트 설정이 가능합니다.

아래 샘플 코드를 참고 부탁드립니다.

private void Form1_Load(object sender, EventArgs e)
{
    fpSpread1.Sheets[0].VisualStyles = FarPoint.Win.VisualStyles.Off;
    fpSpread1.Sheets[0].ColumnHeader.Rows[0].Renderer = new CustomColumnHeaderRenderer();// 컬럼헤더 행에 대한 렌더러를 설정합니다.
    fpSpread1.Sheets[0].ColumnHeader.Rows[0].BackColor = Color.Teal;
    fpSpread1.Sheets[0].ColumnHeader.Rows[0].ForeColor = Color.Yellow;

    fpSpread1.Sheets[0].ColumnHeader.Rows[0].LockBackColor = Color.Gray;
    fpSpread1.Sheets[0].ColumnHeader.Rows[0].LockForeColor = Color.Red;
    fpSpread1.Sheets[0].ColumnHeader.Rows[0].LockFont = new Font("HY견고딕", 15f);
}

public class CustomColumnHeaderRenderer : FarPoint.Win.Spread.CellType.ColumnHeaderRenderer
{
    public override void PaintHeader(Graphics g, Rectangle r, Rectangle rectTextIn, Color backColor, Color foreColor, System.Drawing.Font font, FarPoint.Win.HorizontalAlignment halign, FarPoint.Win.VerticalAlignment valign, bool pressed, bool focus, string text, string textDown, FarPoint.Win.ButtonTextAlign nAlign, FarPoint.Win.TextOrientation textOrientation, bool wordWrap, int shadowSize, Color darkColor, Color lightColor, Image pictUp, Image pictDown, bool bLocked, System.Drawing.Text.HotkeyPrefix prefix, FarPoint.Win.VisualStyles style, bool mouseOver, bool rightToLeft, FarPoint.Win.Spread.Appearance appearance, double textRotationAngle, float zoomFactor)
    {
        if (bLocked)
        {
            backColor = appearance.LockBackColor;
            foreColor = appearance.LockForeColor;
            font = appearance.LockFont;
        }
        base.PaintHeader(g, r, rectTextIn, backColor, foreColor, font, halign, valign, pressed, focus, text, textDown, nAlign, textOrientation, wordWrap, shadowSize, darkColor, lightColor, pictUp, pictDown, bLocked, prefix, style, mouseOver, rightToLeft, appearance, textRotationAngle, zoomFactor);
    }
}


2. legacy behavior가 none인 경우와 style인 경우의 차이가 뭔지도 궁금합니다.


Spread.NET에서는 이전 버전과의 호환성을 위하여 LegacyBehaviors 옵션을 제공합니다. LegacyBehaviors.Style을 적용하였을 때, FpSpread의 모든 스타일 기본 설정 및 동작이 이전 버전과 같이 동작합니다.


일례로, LegacyBehaviors.Style 설정이 꺼져있을 때(FlatStyle을 사용할 때)에는 ColumnHeader.DefaultStyle 속성을 지원하지 않습니다. 이는 Excel-like한 스타일 시스템과 호환되지 않기때문입니다. 그러나 LegacyBehaviors.Style이 설정되어있을 때에는 ColumnHeader.DefaultStyle 속성을 지원합니다.


LegacyBehaviors.Style이 설정되어있을 때와 아닐 때의 차이는, 사용하는 버전에 따라 다를 수 있기 때문에 모든 차이점에 대한 정확한 설명이 어려운 점 양해 부탁드립니다.


LegacyBehaviors 옵션에는 Stlye 뿐 아니라 여러 옵션이 존재합니다.

아래 링크된 페이지에서 각 옵션에 대한 설명을 확인하실 수 있습니다.

Spread WinForms V16 | LegacyBehaviors 열거형

Spread WinForms V16 | LegacyBehaviors 속성 


감사합니다.

메시어스 드림


댓글목록

등록된 댓글이 없습니다.

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