Salut à tous,
J'aimerais savoir s'il est possible de mettre des images dans les cellule d'un DrawGrid.
Salut à tous,
J'aimerais savoir s'il est possible de mettre des images dans les cellule d'un DrawGrid.
Salut,
Par exemple, si tu stockes les images dans une TImageList, dans l'évènement 'DrawCell' :
par ex....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 StringGrid1->Canvas->FillRect(Rect); ImageList1->Draw(StringGrid1->Canvas,Rect.Left,Rect.Top,1);
@ +
Current StatusAux persévérants aucune route n'est interdite.
Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
Faîtes quelque chose de bien avec vos petits sous: Enfants du MekongAvec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
Merci, je vais essayer ca, ca devrait marcher là...
@+
Salut,
J'ai réussit à faire afficher les images. Il ne me reste qu'à faire en sorte qu'il s'affiche l'image dans la case désirée, donc à aller voir les tutorials.
Salut,
Ben dans DrawCell
tu peut utiliser ACol et ARow, pour 'vérifier' les coordonnées...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void __fastcall StringGridDrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State)
@ +
Current StatusAux persévérants aucune route n'est interdite.
Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
Faîtes quelque chose de bien avec vos petits sous: Enfants du MekongAvec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
Salut,
Maintenant que je réussit à faire afficher les images dans les cellules, comment on fait pour faire afficher une image dans une cellule, sans sélectionner cette cellule par la souris?
Jai trouvé ce code mais comment l'adapter, car je voudrais que plusieurs cases ait la même images et d'autres avec une différente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 f(State.Contains(gdSelected)) //sert a sélectionner la case { DrawGrid1->Canvas->FillRect(Rect); ImageList1->Draw(DrawGrid1->Canvas,Rect.Left,Rect.Top,1); }
Salut,
je vais essayer les ACol et ARow, faut juste trouver comment ca fonctionne lol, un exemple ou une référence vers un tutoriel serait apprécié.
@+
Salut,
heu, ca te plais pas de tester l'indice de ligne (ARow) et de colonne (ACol) de la cellule en cours de dessin pour savoir ce que tu en fais.
Surtout que tu peut tester en meme temps comme tu l'as fais. J'avais 'bricolé' pour autre chose :State.Contains.....
@ +
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 void __fastcall TForm2::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { if (ACol == 0) { StringGrid1->Canvas->Brush->Color = clInfoBk; StringGrid1->Canvas->FillRect(Rect); Form1->ImageList1->Draw(StringGrid1->Canvas,Rect.Left + 9,Rect.Top + 9,7); Form2->StringGrid1->Canvas->Font->Color = clRed; Form2->StringGrid1->Canvas->TextOutA(Rect.Left + 4, Rect.Top + 1, AnsiString("Supprimer") + ARow); } else { if (ARow == 2) { StringGrid1->Canvas->FillRect(Rect); Form1->ImageList1->Draw(StringGrid1->Canvas,Rect.Left + 9,Rect.Top + 9,8); } } }
Current StatusAux persévérants aucune route n'est interdite.
Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
Faîtes quelque chose de bien avec vos petits sous: Enfants du MekongAvec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
Salut,
J'ai adapté ton exemple et ça fonctionne merci.
@+
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