Bonjour j'ai une question,
Comment peut-on insérer une image dans une case d'une stringGrid?
Merçi![]()
Bonjour j'ai une question,
Comment peut-on insérer une image dans une case d'une stringGrid?
Merçi![]()
Compil your life guy!
The Aures Project
Slt!
Il faut que tu créés un composant héritant de la StringGrid et mettant des composants images dans une cellule. C'est le même système que la fois ou quelqu'un avait demander de mettre des checkbox. Malheureusement, je crois que ce thread a été supprimer :S
A+!![]()
mouarf merçi mais il n'y a pas moyen d'avoir une approche? un p'tit coup de pouce quoi lol parceque c'est unpeu complex pour moi![]()
Compil your life guy!
The Aures Project
j'ai unpeu trifouiller dans le monde d'héritage de nouveraux composants mais je ne vois pas comment je pourrai modifier ma stringgrid pour qu'el puisse porter une image enfin des images
Compil your life guy!
The Aures Project
Tu as de possibilité
1° soit tu t'orientes vers des composant qui font deja cela ( ex: TmsSoftWare )
2° soit sans vouloir developper un composant specifique , tu peux dessiner ce que tu veux dans une cellule en passant par l'evenement OndrawCell de ton stringGrid.
Bye.
Merci pour les astuces.
Je vois pas vraiment comment je pourrai procéder pour efféctuer ma tâche :sEnvoyé par petitcoucou31
Bon je change de question, y'a t-il moyen d'insérer des bouttons dans une string grid (1 buton par case)? je sais que oui lol mais comment?
à part créer un nouveau composant (ce que j'ai du mal à faire) je ne vois pas autrement...
Compil your life guy!
The Aures Project
Salut !
Avec une TDrawGrid plutôt qu'une TStringGrid...
http://www.developpez.net/forums/viewtopic.php?t=319435
![]()
Bonjour,
Ce qui est dommage, c'est que le composant DrawGrid n'a pas la propriété "Object[]".
Et j'en ai absolument besoin.
N'y a t-il pas moyen de mettre dynamiquement une image différente dans chaque cellule d'une colonne ?
Sans passer par un imageList, ce serait le pied.
Merci D'avance.
La démo de mon puissance4 répond à ta question je pense, en utilisant l'evènement OnDrawCell (voir dans unit1.pas la méthode GrilleDrawCell)...Envoyé par petitcoucou31
Pour simplifier, il faut d'abord créer (sans oublier de la libérer) une variable globale de type TBitmap pour pouvoir récupérer les images d'une liste :
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 Var bmp: TBitmap; Procedure TForm1.FormCreate(Sender: TObject); Begin bmp := TBitmap.Create; End; Procedure TForm1.FormDestroy(Sender: TObject); Begin bmp.Free; End; Procedure TForm1.GrilleDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); Var index: Integer; Begin index := 0; // Numéro de l'image dans la liste ImageList1.GetBitmap(index, bmp); Grille.Canvas.Draw(Rect.Left, Rect.Top, bmp); End;
Bonjour Sub0,
Sympa ton prog... Très propre.
Seulement, j'aimerais ne pas passer par un imageList.
En effet, je ne connais pas à l'avance les images à afficher, c'est dynamique.
De plus, je ne veux pas qu'elles soient formatées à la même taille.
Et pour finir, j'ai l'impression que tImageList "retravaille" les images avant de les stoquer.
Est ce possible de ne passer que par un seul et même tBitmap par exemple ?
Juste comme ça: Pourquoi passes tu par un tBitmap... Tu peux dessiner directement depuis le tImageList de cette manière:
ImageList1.Draw(Canvas, Rect.Left, Rect.Top, numImage);
Merci.
Partager