¿Te refieres a pintar los checkbox cargando una pequeña imagen?. sí, es algo habitual, lo hago normalmente así:
Código Delphi
[-]procedure TFempresas.grUsuaDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin if AnsiLowerCase(Column.Field.FieldName) = _acceso_ then
begin
(Sender As TDBGrid).Canvas.FillRect( Rect );
imglst2.Draw((Sender As TDBGrid).Canvas,Rect.Left+10,Rect.Top+1,0);
if Column.Field.Value=1 then
imglst2.Draw((Sender As TDBGrid).Canvas,Rect.Left+10,Rect.Top+1,2)
else
imglst2.Draw((Sender As TDBGrid).Canvas,Rect.Left+10,Rect.Top+1,0); end;
end;