|
OnDrawCell 의 인자값만으로 다 처리하실 수 있습니다.
1. DefaultDraw 를 없앴다면 전부 다 그리셔야 합니다.
2. 어차피 그리는 곳은 TCanvas 이기 때문에 다른 그리기 루틴과 동일 합니다.
3. 외형은 StringGrid 를 사용하고 단순히 이미지를 같이 출력하는 것이면 그냥 OnDrawCell 에 이미지 출력 코드만 넣으면 되겠죠.
글자의 위치를 바꿔야한다면 Grid 의 배경색으로 영역을 칠한뒤에 이미지와 글자를 다시 출력해야겠죠.
4. Col, Row 를 확인하고 출력하면 딱히 옮기거나 할일은 없어보이는데 어떻게 출력하셨는지 궁금하네요.
깜빡임 문제가 크다면 Drawing 을 전부 직접 하는 방법도 생각해보세요.
chrisb 님이 쓰신 글 :
: 버튼을 누를 때마다 StringGrid의 로우가 추가 되면서 값들이 들어가는 프로그램을 만들고 있습니다.
:
: 단순히 StrigGrid1->Cells[1][1] = "hello" 이런 텍스트 들은 로우가 추가 될 때마다 이 전 로우에 있던 값을 복사해서 assign해주는 방식으로 처리를 하고 있습니다.
:
: 그런데 Image와 Text를 동시에 띄워주어야 하는 경우가 발생을 해서요.
:
: 일단 위치 및 이미지 파일 불러오기는 성공을 하였습니다.
:
: 그런데 로우를 추가하게 되면 추가 된 부분에 전에 있던 이미지 정보를 불러와야 하는 것이 문제가 되는데요.
:
: 각 로우마다 이미지를 새로 써넣는 것은 제가 어떻게든 할 수 있을 것 같습니다만...
:
: 로우가 많이 늘어나서 스크롤을 움직여버리게 되면 이미지 부분이 지워져 버리더군요.
:
: 그리고 현재 방식으로 로우를 계속 추가하면서 상황을 보고 있는데 중간에 font가 바뀌기도 하고,
:
: 있던 값이 변질이 되기도 하고 그렇습니다...
:
: DrawCell에서 뭔가 처리를 해야 될 것 같은데..
:
: DefaultDraw를 true로 해놓고 쓰고있는데 그 때문에, Grid 생성 시기부터 값을 읽어들여 DrawCell에 계속 들어가게 되고 그 때문에,
: 이미지가 들어가는 Cell이 깜빡깜빡 거리는 현상이 생기구요.
:
: 질문이 두서없이 산으로 가고 있는 것 같군요.
:
: DrawCell에서 업데이트를 처리하는 부분이 잘 이해가 안 가고 있어서 이런 것 같은데..
:
: DefaultDraw를 false로 놓게 되면 화면이 다 하얘져 버리고 셀마다 넣어준 값들이 다 안 뜨게 되더라구요..
:
: 질문 1. DefaultDraw를 false로 넣고도 fixrow/fixcol이 회색으로 들어오고 text를 넣는 방법이 있다거나...
: {기본 윈도우 틀(회색으로 나오는 바탕같은 것?)이라고 해야하나요?} 그걸 그대로 쓰고 싶습니다.
:
: 질문 2. 저와 같은 상황에 관련한 DrawCell 예제나 팁을 얻을 수 있을까요?
:
: 질문 3. 조금 더 쉽게 해결 할 수 있는 방법이 없을까요? 이미지+텍스트 넣기 쉽게 만들어진 Grid Component라던가...
:
: 질문 4. 이미지도 로우를 한칸씩 옮겨주려고 하는 부분이 실은 꽤나 걱정거리입니다.
: 이미 불러온 이미지들에 대한 경로 혹은 키워드를 다 알고 있어야 되는 것이라 생각하고 있어서 말이죠.
: (처리는 RC파일에 Image정보 저장해놓고 LoadFromStream으로하고 있습니다.)
|