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

셀 좌우폭에 맞는 폰트사이즈 구하기 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 셀 좌우폭에 맞는 폰트사이즈 구하기

페이지 정보

작성자 cc22 작성일 2021-04-16 09:49 조회 3,846회 댓글 0건
제품 버전 : Spread.NET 12

본문

안녕하세요


ColWidth 를 바꾸면 안되는 상황이라

GetPreferredColumnWidth() 와는 반대로

셀의 좌우폭에 맞는 폰트사이즈 또는 폰트설정을 구하고 싶은데

방법이 있을까요..?


또는 셀 내 텍스트의 width를 구하는 방법이 있을지요..??

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 셀 좌우폭에 맞는 폰트사이즈 구하기

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

페이지 정보

작성자 GCK루카스 작성일 2021-04-21 09:31 댓글 1건

본문

안녕하세요 그레이프시티입니다.


문의주신 사항은 TextCellType의 ShrinkToFit 속성을 이용해서 설정이 가능합니다.

FarPoint.Win.Spread.CellType.TextCellType textCellType = new FarPoint.Win.Spread.CellType.TextCellType();
textCellType.ShrinkToFit = true;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = textCellType;

혹은 아래와 같이 함수를 만들어 설정이 가능합니다.

public Form1()
{
    InitializeComponent();

    fpSpread1_Sheet1.Cells[1, 1].Value = "This is some string";
    fpSpread1_Sheet1.Cells[1, 1].Font = GetAdjustedSize(1, fpSpread1_Sheet1.Cells[1, 1].Text, fpSpread1_Sheet1.Cells[1, 1].Font);
}

private Font GetAdjustedSize(int columnIn, string data, Font OriginalFont)
{

    var GraphicRef = fpSpread1.CreateGraphics();
    int MinFontSize = 2;
    int MaxFontSize = 30;
    float ContainerWidth = fpSpread1.ActiveSheet.Columns[columnIn].Width;
    // We utilize MeasureString which we get via a control instance           
    for (int AdjustedSize = MaxFontSize; AdjustedSize >= MinFontSize; AdjustedSize--)
    {
        Font TestFont = new Font(OriginalFont.Name, AdjustedSize, OriginalFont.Style);

        // Test the string with the new size
        SizeF AdjustedSizeNew = GraphicRef.MeasureString(data, TestFont);

        if (ContainerWidth > Convert.ToInt32(AdjustedSizeNew.Width))
        {
            // Good font, return it
            return TestFont;
        }
    }


    return OriginalFont;
}


다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.


감사합니다.

그레이프시티 드림

* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.

댓글목록

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