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

C++Builder Discussion :

image dans TStringGrid


Sujet :

C++Builder

  1. #1
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut image dans TStringGrid
    bonjour, peut on inserer une image dans un tableau, c'est a dire dans la case que l'on souhaite ? merci
    Let there be light, sound, drums, guitar ... Let there be rock !

  2. #2
    Membre averti Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Points : 315
    Points
    315
    Par défaut
    Je n'est jamais essayé, mais cela doit être faisable a l'aide du canvas du StringGrid et une TList ou tu as toutes tes images
    Boubou from The SpAcE GaLaXy....
    AhAhAhAhAh

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  4. #4
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    ouai j'arrive a mettre la photo et la bouger, mais pas precisement dans une cellule selectionnée ...
    Let there be light, sound, drums, guitar ... Let there be rock !

  5. #5
    Membre averti Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Points : 315
    Points
    315
    Par défaut
    Sur le OnDrawCell du StringGrid, tu as le TRect de la cellule qu'il dessine
    Boubou from The SpAcE GaLaXy....
    AhAhAhAhAh

  6. #6
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    ok, j'ai pas reussi, je vais plutot me tourner vers une recoloration de toute la ligne de la cellule selectionnée. je n'est pas reussi, au clic sur une cellule j'arrive a recolorier juste la cellule selectionnée et non pas toute sa ligne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    AnsiString texte[5];
    for (int i = 0; i < 5; i++) texte[i] = StringGrid1->Cells[ACol + i][ARow]; //Texte des cellules 
     
    if (State.Contains(gdSelected)) // Concerne la(les) cellule(s) sélectionnée(s).{
        StringGrid1->Canvas->Brush->Color = clRed;
        StringGrid1->Canvas->Font->Color = clWhite;
        StringGrid1->Canvas->FillRect(Rect);
     
        StringGrid1->Canvas->TextRect(Rect, Rect.Left +1, Rect.Top + 1, texte[
                                                    0]); // Ici texte justifié à gauche.
    }
    Let there be light, sound, drums, guitar ... Let there be rock !

  7. #7
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Points : 143
    Points
    143
    Par défaut
    Une petite recherche sur le forum t'aurais peut être amené par là :
    http://www.developpez.net/forums/sho...d.php?t=265032

    Normalement cela résoud ton problème.

  8. #8
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    le lien ne m'a pas résolu mon problème, en revanche je l'ai quand meme resolu avec sueur ... Le code pour ceux à qui ça interresserait ... (lors du clic, la ligne ou il y a eu le clic change de couleur)

    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
    29
    30
     
    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
        TColor bgColor; // Couleur de fond
        TColor fontColor; // Couleur du texte
     
        if(ARow == ligne) // Ligne selectionnee
        {
            bgColor = clRed;
            fontColor = clWhite;
        }
     
        else // Couleur des autres lignes
        {
            bgColor = clWhite;
            fontColor = clBlack;
        }
     
        // Creons la couleur de fond + la couleur du texte
        // Il faut s'assurer que la cellule n'appartient pas a la 1ere ligne
        if (ARow != 0)
        {
            StringGrid1->Canvas->Brush->Color = bgColor;
            StringGrid1->Canvas->FillRect(Rect); // Colore le fond de la cellule
            StringGrid1->Canvas->Font->Color = fontColor; // Couleur du texte a afficher
        }
        // Ecrivons maintenant le texte
        StringGrid1->Canvas->TextOut(Rect.left + 2, Rect.top + 3, AnsiString(StringGrid1->Cells[ACol][ARow]));
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
          int ARow, bool &CanSelect)
    {
        ligne = ARow; // 'ligne' declare dans le .h
        StringGrid1->Repaint();
    }
    Let there be light, sound, drums, guitar ... Let there be rock !

  9. #9
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Points : 143
    Points
    143
    Par défaut
    Effectivement, le lien c'était plutôt pour mettre une image dans la cellule.

  10. #10
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    merci tout de meme !
    Let there be light, sound, drums, guitar ... Let there be rock !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2013, 17h06
  2. Réponses: 19
    Dernier message: 09/06/2009, 12h07
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  4. Smiley (image dans un RichEdit)
    Par Waxayaz dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/02/2003, 14h32
  5. [VB6] [Excel] Insérer une image dans une feuille
    Par mathias dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/10/2002, 07h44

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