Thomas Stutz
Global Moderator
Hero Member
    
Offline
Beiträge: 1784

|
 |
« Antworten #3 am: 05.03.2002, 19:51:20 » |
|
Du musst in diesem Fall das Zeichnen selber übernehmen, indem du zuerst DefaultDrawing auf False setzt. In eine TImageListe kannst du dann Bilder reinladen und dann im Eregnis OnDrawColumnCell des TDBGrids kannst du so was schreiben:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var r: TRect; begin if Column.Field.FieldName = 'Dein_Feld_Name' then begin r := Rect; DBGrid1.Canvas.FillRect®; ImageList1.Draw(DBGrid1.Canvas, r.Left, r.Top, 0); // 1.Bild der Imagelist anzeigen r.Left := r.Left + ImageList1.Width + 2; DrawText(DBGrid1.Canvas.Handle, PChar(Column.Field.AsString), Length(Column.Field.AsString), r, dt_SingleLine); end else begin DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end;
(ungetestet)
|