Hallo zusammen, hallo lieber theo,
herzlichen Dank für Deine nette Antwort.
Es klappt, jedoch
nur für die erste Zeile in der TDBGrid
Alle anderen werden leer angezeigt,
Der Parameter Rect, hat
jedes mal den gleichen Inhalt,
(TRect (Left = 15; Top = 25; Right = 55; Bottom = 50; TopLeft = TPoint (15; 25); BottomRight = TPoint (55; 50); Vector = (15, 25, 55, 50)))
Will sagen es wird
nicht auf die aktuelle Zeile angewendet, sondern nur auf die erste Datenzeile.
Was muss ich tun, damit es auf jede Zeile angewendet wird?
Viele Grüße
Lorca

- Picture_Grid.PNG (7.13 KiB) 4801 mal betrachtet
PROCEDURE Tform1.Dbgrid1_Draw_Column_Cell ( Sender: Tobject; CONST Rect: Trect; Datacol: Integer; Column: Tcolumn; State: Tgriddrawstate ) ;
VAR lv_i : Integer; mo_Bmp : TBitmap;
BEGIN
IF Datacol <> 0 THEN EXIT;
IF NOT TDBGrid( Sender ).DataSource.DataSet.FieldByName( 'FLG_Audio').AsBoolean THEN EXIT;
mo_Bmp := TBitmap.Create;
ImageList.GetBitmap( 0, mo_Bmp );
TDBGrid(Sender).Canvas.Brush.Color := clInfoBk;
TDBGrid(Sender).Canvas.FillRect( Rect );
TDBGrid(Sender).Canvas.Draw( Rect.Left, Rect.Top, mo_Bmp);
mo_bmp.Free;
End;