Ключевое - без создания колонок в дизайне.
Назначение Params.ImageIndex в событии AdvDrawDataCell рисует картинку в центре ячейки, текст пропадает.
При ручной прорисовке картинки в DrawDataCell - пропадает Selected.
Пока сделал так:
Код:
procedure TfmActionsRoles.grDataDrawDataCell(Sender: TObject; const Rect: TRect; Field: TField;
State: TGridDrawState);
begin
if gdSelected in State then
grData.Canvas.Brush.Color := clAqua;
grData.Canvas.FillRect(Rect);
if (Field = mtDataTitle) and (mtDataImageIndex.AsInteger >= 0) then
begin
Rect.TopLeft.Offset(2, 0);
DrawBitmapFromImageList(grData.Canvas, Rect, TImageList(dmData.ilMain), mtDataImageIndex.AsInteger, afLeft + afVCenter);
Rect.TopLeft.Offset(18, 0);
end;
grData.DefaultDrawDataCell(Rect, Field, State);
end;
но Selected рисуется, естественно, не так, как в прочих формах проекта.
Версия 9.3.011, без исходников.