procedure StringGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
var
Rect1, Rect2 : TRect;
begin
if (ACol = 2) and (ARow = 2) then
begin
Rect1 := Classes.Rect(0,0,Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height);
Rect2.Left := Rect.Left;
Rect2.Top := Rect.Top;
Rect2.Right := Rect.Left + Rect1.Right;
Rect2.Bottom := Rect.Top + Rect1.Bottom;
(Sender as TStringGrid).Canvas.BrushCopy(Rect2, Image1.Picture.Bitmap, Rect1, clOlive);
end;
end;
위와 같은 코드로... 스트링그리드에 이미지를 넣는 코드를 (게시판에서 얻은건데..)
추가 했습니다.
근데, 이 event 는 마우스 클릭도 아니고... 실행되면서 자동으로 로드 되는것도
아니고.... 언제 이게 실행되도록 할 수 있습니까??
초보적인 질문이지만.. 아시는분 답변 부탁드립니다.. ^^;
begin
StringGrid1.Cells[2, 2] := ' ';
StringGrid1.Objects[2, 2] := Image1.Picture.Bitmap;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
StringGrid1.Cells[2, 2] := ' ';
StringGrid1.Objects[2, 2] := nil;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Longint;
Rect: TRect; State: TGridDrawState);
var
DrawBitmap: TBitmap;
begin
TStringGrid(Sender).Canvas.Draw(Rect.Left, Rect.Top + 4, TBitmap(TStringGrid(Sender).Objects[Col, Row]));
end;