bonjour, peut on inserer une image dans un tableau, c'est a dire dans la case que l'on souhaite ? merci
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 !
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
Salut ac/dc:
Deux liens qui parlent de ton sujet.
--
Plutot que d'essayer de réinventer la roue, apprenons à nous en servir
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 !
Sur le OnDrawCell du StringGrid, tu as le TRect de la cellule qu'il dessine
Boubou from The SpAcE GaLaXy....
AhAhAhAhAh
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 !
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.
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 !
Effectivement, le lien c'était plutôt pour mettre une image dans la cellule.
merci tout de meme !
Let there be light, sound, drums, guitar ... Let there be rock !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager