如何在drawgrid的网格中加入图像?(50分)

  • 主题发起人 主题发起人 阿曼
  • 开始时间 开始时间
有这样的控件。我收集了一个给你发过去了我没用过不知是不是。
 
呵呵,想得到一个看看,能寄给我吗? my email is developer@shtdu.edu.cn

如果可以不用控件就好了,直接的使用呀
 
ownerdraw不行吗?
 
用ownerdraw吧
 
是要加一幅大图,还是若干小图?
大图建议你另加一个Image,保持同样大小即可.
小图可在DrawGrid的OnDrawCell事件中处理,
如用Draw()
 
不知阿曼的strigngrid中加图像问题究竟如何解决的?能否告知一声?nocc@chinaren.com.
 
使用TDrawGrid的OnDrawCell事件,别忘记把TDrawGrid的DefaultDrawing设置为False

 
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Bitmap : TBitMap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('C:/WINDOWS/Circles.bmp');
Bitmap.Transparent := True;
Bitmap.TransParentColor := TDrawGrid(Sender).Color;
if (ARow=2) and (ACol=3) then // 画在第三行第四列
begin
with TDrawGrid(Sender).Canvas do
begin
Brush.Color := clWhite;
FillRect(Rect);
CopyRect(Rect,Bitmap.Canvas,Bitmap.Canvas.ClipRect );
//如果图象大小和删格不一样图象会变形,如果将上面的“Bitmap.Canvas.ClipRect”替换成其他TRect可以取原图象的部分
end;
end
finally
Bitmap.Free;
end;
end;
 
多人接受答案了。
 
后退
顶部