procedure Tfrmpopup.RxDBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var dDateS,dDateE : String;
begin
with RxDBGrid1.Canvas do
begin
RxDBGrid1.Col := 1;
dDateS := qrynoticenotice_Date.Value;
dDateE := FormatDateTime('YYYYMMDD',now -3);
if dDateS >= dDateE Then
begin
Draw(Rect.Left,Rect.Top,Image1.Picture.Graphic);
end;
End
end;
위처럼 하니깐 맞는 그리드에 각각 셀에 몽땅 그리이 나오네요 각 필드마다
전~ 특정 셀에만 그림이 나오게끔 하고 싶은뎅 구현이 안되네요~ 요기에서 막혀서요
예> -------------------------------------
제 목 내용
--------------------------------------
우리나라 몰라요
금나와라 안나와
그럴까낭 몰라야
---------------------------------------
이런 디비 그리드가 있을때
-------------------------------------
제 목 내용
--------------------------------------
우리나라 몰라요(그림)
금나와라 안나와(그림)
그럴까낭 몰라야
---------------------------------------
위처럼 내용 셀 컬럼쪽만 그림이 나오게끔 하고 싶습니다.
위에 문법 처럼 하니
-------------------------------------
제 목 내용
--------------------------------------
(그림)우리나라 (그림)몰라요
(그림)금나와라 (그림)안나와
그럴까낭 몰라야
---------------------------------------
위처럼 되더라구요~ 어떻게 수정 해야 하는지요~
고수님의 조언 부탁 합니다.
즉, 내용 컬럼에만 그림을 Draw해야 하는데, DrawColumnCell은 모든 Column Draw때 Call이 되니까
결과적으로 모든 컬럼에 그림이 그려지겠네요.
DataCol: Integer; Column: TColumn 파라메터를 참고하세요.
또한 내용 앞이 아닌 뒤에 그림을 그리고자 하기때문에...
Draw(Rect.Left,Rect.Top,Image1.Picture.Graphic);
Rect.Left를 값에서 내용 문자열의 길이를 고려해서
즉, Rect.Left + (내용문자열길이) 그려야 할 겁니다.
그럼 즐프하세요...