Je cherche a mettre une image dans une cellule. Dans la FAQ :
http://delphi.developpez.com/faq/?page=composbdd
J'ai trouvé ceci, sauf que j'y comprends rien :
- comment fait-il pour la mettre dans telle cellule et pas une autre ?
- Comment choisit-il l'image ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var tmp : TBitmap; stream : TMemoryStream; begin if(Column.Field.IsBlob) then begin stream := TMemoryStream.Create(); tmp := TBitmap.Create(); try TGraphicField(Column.Field).SaveToStream(stream); stream.SetSize(stream.Size - 8); //On retire l'en-tête du blob, on recupère uniquement les données stream.Seek(int64(8), soFromBeginning); //on se place au début des données tmp.LoadFromStream(stream); DBGrid1.Canvas.CopyRect(Rect, tmp.Canvas, tmp.Canvas.ClipRect); finally tmp.Free; stream.Free; end; end else DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State); end;
Partager