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
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
Salut ac/dc:
Deux liens qui parlent de ton sujet.
ouai j'arrive a mettre la photo et la bouger, mais pas precisement dans une cellule selectionn�e ...
Sur le OnDrawCell du StringGrid, tu as le TRect de la cellule qu'il dessine
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. }
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(); }
Effectivement, le lien c'�tait plut�t pour mettre une image dans la cellule.
Partager