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

선택한 셀의 Location값(x, y)를 알고 싶습니다. > Q&A | 토론

본문 바로가기

WinForms윈폼 선택한 셀의 Location값(x, y)를 알고 싶습니다.

페이지 정보

작성자 leejs 작성일 2022-05-24 15:04 조회 946회 댓글 0건
제품 버전 : v12

본문

이미지 삽입을 위하여 선택된 셀의 로케이션을 구할려고 하는데 찾지 못해서 여쭈어 봅니다.

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 선택한 셀의 Location값(x, y)를 알고 싶습니다.

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

페이지 정보

작성자 GCK써니 작성일 2022-05-25 12:17 댓글 0건

본문

leejs 님, 안녕하세요.

그레이프시티입니다.


선택한 셀의 뷰포트 기준 Location을 찾기 위해서는, SpreadView.GetCellRectangle 메소드와 Point.Offset 메소드를 사용하실 수 있습니다.

하기 샘플 코드에서는 배경 이미지가 있는 사각형 도형을 마우스 클릭으로 선택된 셀에 추가하고 있습니다. 이때, SpreadView.FetCellRectangle(...).Location으로 선택된 셀의 좌표(Spread 컨트롤 기준)를 구한 후, Point.Offset 메소드를 사용하여 좌표를 뷰포트의 좌표로 변환합니다. 

private void Form1_Load(object sender, EventArgs e)
{
    fpSpread1.CellClick += FpSpread1_CellClick;
}

private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
    FarPoint.Win.Spread.DrawingSpace.RectangleShape rShape = new FarPoint.Win.Spread.DrawingSpace.RectangleShape();
    rShape.Width = 100;
    rShape.Height = 100;
    rShape.BackgroundImage = new FarPoint.Win.Picture(Image.FromFile("D:\\test\\image.png"));

    // 선택한 셀의 좌표(Spread 기준)를 가져옵니다.
    Point cellLocation = e.View.GetCellRectangle(0, 0, e.Row, e.Column).Location;
    // 셀 좌표를 뷰포트 기준의 좌표로 변환합니다.
    cellLocation.Offset(-e.View.GetViewportX(e.View.GetActiveRowViewportIndex()), -e.View.GetViewportY(e.View.GetActiveColumnViewportIndex()));
    
       rShape.Location = cellLocation;
    fpSpread1.ActiveSheet.AddShape(rShape);
}


추가로 궁금하신 사항이 있을 경우, 문의주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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