C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[20305] Re:Re:답변감사합니다... 바꿨는데 문제가...
유영인.Chris [cuperido] 1596 읽음    2002-07-23 13:54
DrawGrid는 Cells이 없습니다. 그렇기 때문에, 각 셀 영역의 좌표를 구해서 해당 값을 얻어와야 합니다. CellRect 메소드는, 행 열을 기준으로 좌표를 얻어줍니다. 또한, MouseToCell은 그 반대의 기능을 합니다.

그리고, 단순히 그림을 집어넣기 위해서라면, StringGrid도 괜찮습니다. 문제는, StringGrid에서 한 줄이 선택될때 Focus라인 (파란색)이 생기는데, 이미지가 들어가면 잘 어울리지 않는다는 겁니다. 이 문제는 이미지의 크기나 색상을 알맞게 조절해 주시면 될 것 같습니다.

StringGrid에 그림을 그리는 방법은, StringGrid->Canvas 에서 직접 그려 주시면 됩니다. DrawGrid가 가지고 있는 CellRect을 StringGrid도 가지고 있습니다. 예를 들어, 1,1 번째 칸에 아이콘을 집어 넣고 싶으시다면, StringGrid->CellRect(1, 1) 해서 나온 Rect에다가 아이콘을 그려 넣어 주시면 됩니다.


서비 님이 쓰신 글 :
: DrawGrid를 쓰면
: Cells가 안먹히잖아요..
:
: 그럼 내용을 가져올때 어떻게 하죠?
:
: 김백일 님이 쓰신 글 :
: : TDrawGrid는 OnDrawCell 이벤트 핸들러에서
: : 문자열외에 얼마든지 그래픽을 사용하는 코딩을 할 수 있습니다.
: :
: : 다음은 헬프에 있는 예제입니다.
: : 
: : // The following code uses the bitmaps in an image list component to draw the contents of
: : // each cell in a draw grid.  It draws a focus rectangle around the cell that has focus.
: : void __fastcall TForm1::DrawGrid1DrawCell(TObject *Sender, long Col, long Row, TRect &Rect, TGridDrawState State)
: :
: : {
: :   long index = Row * DrawGrid1->ColCount + Col;
: :   DrawGrid1->Canvas->Brush->Color = clBackground;
: :   DrawGrid1->Canvas->FillRect(Rect);
: :   ImageList1->Draw(DrawGrid1->Canvas,Rect.Left,Rect.Top,index);
: :   if (State.Contains(gdFocused))
: :     DrawGrid1->Canvas->DrawFocusRect(Rect);
: : }
: :
: : 서비 님이 쓰신 글 :
: : : 현재 DrawCell 이벤트를 이용하여.. 각 셀이나 값에따라서 색을 다르게 표현했습니다.
: : :
: : : 근데 TListView처럼 각 행마다 Icon을 넣을 수 있을까요?
: : :
: : : 검색을 해봤는데 셀병합 Font바꾸기 등 예제밖에없고 이미지를 넣을 수 있는건 없네요..
: : :
: : : 불가능 한가요?

+ -

관련 글 리스트
20249 StringGrid에 image 넣을수 있을까요.. 서비 1300 2002/07/20
20250     TDrawGrid를 사용하세요. 김백일 2442 2002/07/20
20258         Re:답변감사합니다... 바꿨는데 문제가... 서비 1270 2002/07/22
20305             Re:Re:답변감사합니다... 바꿨는데 문제가... 유영인.Chris 1596 2002/07/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.