IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

FAQ DELPHI : image dans un DBGrid


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Points : 61
    Points
    61
    Par défaut FAQ DELPHI : image dans un DBGrid
    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;

  2. #2
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    tu vois le parametre Rect : TRect c'est l'emplacement de la cellule représentée dans un rectangle dans le canvas du DBGrid
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Points : 61
    Points
    61
    Par défaut
    Ok, mais si je veux mettre une image ?

  4. #4
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    l'exemple de la faq extrait l'image à partir du champs graphic
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TGraphicField(Column.Field).SaveToStream(stream);
    si tu veux mettre autre chose tu enregistre dans ton stream se que tu veux mais là ça perd tout l'interêt.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

Discussions similaires

  1. [Base de donnée] BCB6 Probleme pour afficher une image dans un DBGrid
    Par o_live dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/12/2010, 10h07
  2. Delphi 7 - Inserer une image dans RichEdit
    Par Nicolas Coolman dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/09/2007, 15h58
  3. Réponses: 1
    Dernier message: 27/09/2006, 08h50
  4. [dbGrid]Image dans le titre des colonnes d'un dbGrid
    Par dleu dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/08/2004, 18h01
  5. inserer une image dans un dbgrid delphi
    Par cello dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2004, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo