delphi dbgrid рисование изображения ячейки черный фон

Проблема с использованием изображения из списка TImage для рисования глифа в ячейке данных в DBGrid:

Я помещаю изображение «галочки» в формате BMP вместо текста «Готово» в определенной ячейке данных. Это работает, но всегда есть черный цвет в тех частях ячейки, которые не покрыты изображением. Я попытался увеличить размер пикселя изображения BMP, чтобы он соответствовал размеру ячейки, но мне всегда кажется, что размер изображения менялся. При использовании Delphi 10.2 не было проблем с D7?

Испробовали множество комбинаций настройки цвета фона, цветов пера и кисти и т. Д. Вот простой пример одной попытки кода:

procedure TFUpRepWS.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  with Column do begin
    if ((FieldName = 'Done') and (Field.AsString = 'x')) then begin
    //below shows black outside of check mark image in the cell
      ImageList1.Draw(DBGrid1.Canvas,Rect.Left,Rect.Top,0) 
    end
    else DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
  end;
end;

person Scott Stalheim    schedule 31.05.2017    source источник


Ответы (1)