Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как поместить графическое изображение в TDBGrid?

01.01.2007

Использование свойства Canvas компонента TDBGrid в методе OnDrawColumnCell позволяет не только выводить в ячейке текст методом TextOut, но и размещать в ячейках графические изображения. В этом случае используется метод Draw свойства Canvas.

Модифицируем наш пример, добавив в форму компонент TImageList и поместив в него несколько изображений.

Модифицируем код нашего приложения:

Соответствующий код для Delphi имеет вид:

procedure TForm1.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;  State: TGridDrawState);
var
  Im1
: TBitmap;
begin
  Im1
:= TBitmap.Create;
 
if Column.FieldName = 'VenueNo' then
   
with DBGrid1.Canvas do
   
begin
     
Brush.Color := clWhite;
     
FillRect(Rect);
     
if Table.FieldByName('VanueNo').Value = 1 then
        ImageList1
.GetBitmap(0, Im1)
     
else
        ImageList1
.GetBitmap(2, Im1);
     
Draw(round((Rect.Left + Rect.Right - Im1.Width) / 2), Rect.Top, Im1);
   
end;
end;

Теперь в TDBGrid в колонке VenueNo находятся графические изображения.

Взято с https://delphiworld.narod.ru