Как показать картинку в ячейке DBGrid |
|
Написал Ярослав Гасов
|
22.06.2009 |
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var bmpImage: tBitmap; intX, intY: Integer;
begin if DataSource1.DataSet.RecNo > 0 then begin if column.FieldName = 'COUNTRY' then with DBGrid1.Canvas do begin fillRect(rect); bmpImage := tBitmap.Create; try if DBGrid1.DataSource.DataSet.FieldByName('COUNTRY').AsInteger = 0 then bmpImage.Assign(image0.Picture.Bitmap);
if DBGrid1.DataSource.DataSet.FieldByName('COUNTRY').AsInteger = 1 then bmpImage.Assign(image1.Picture.Bitmap);
intX := ((rect.Right - rect.Left) div 2) - (bmpImage.Width div 2);
intY := ((rect.Bottom - rect.Top) div 2) - (bmpImage.Height div 2); draw(rect.Left + intX, rect.Top + intY, bmpImage); finally bmpimage.Free; end; end; end; end; Autor: eko schuscanto www.schuscanto.com |