problème en utilisant l'image à partir d'une liste de TImage pour dessiner un glyphe sur une cellule de données dans DBGrid:delphi image cellule DBGRID dessin fond noir
Je mettais une image bmp d'un « crochet » à la place du texte " Terminé "dans une cellule de données particulière. Cela fonctionne, mais il y a toujours de la couleur noire dans les parties de la cellule qui ne sont pas couvertes par l'image. J'ai essayé d'agrandir la taille de pixel de l'image bmp pour la faire correspondre à la taille de la cellule, mais il semble toujours redimensionner l'image pour moi. En utilisant Delphi 10.2, n'était pas un problème en D7?
ont essayé beaucoup de combinaisons de définir les couleurs d'arrière-plan, les couleurs de crayon et du pinceau, etc. Voici un exemple simple d'un code de tentative:
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;