Insérer une image dans une cellule d'un DrawGrid [Résolu]

Signaler
Messages postés
11
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
3 septembre 2005
-
Messages postés
11
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
3 septembre 2005
-
Bonjour,


Je suis en galère depuis plusieurs heures sur un petit problème qui
doit avoir une solution simple - mais introuvable via google


J'essaye de faire afficher une image dans un drawgrid, sur la case
qu'on a cliquer. Je parviens facilement à mettre un texte dans une
StringGrid, mais l'image dans le drawgrid je n'y arrive pas !


Tout ce que j'ai essayé me provoque des erreurs !





Donc si quelqu'un pouvait m'indiquer la marche à suivre, ce serait très sympas





Merci d'avance !

5 réponses

Messages postés
11
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
3 septembre 2005

Merci a vous tous, j'ai réussi a résoudre mon problème grâce au forum
developpez.com, je mettrais peut être ma source ici, ca peut toujours
servir aux prochains ;)



Bonne soirée, et bon lundi :x
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

Par exemple pour dessinner dans Cell[1,1] :
__________________________________________

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol=1) and (ARow=1) then
with Sender as TDrawGrid do
begin
Canvas.Draw(rect.Left,rect.Top,image1.Picture.Graphic);
{ou autre code, on peut par exemple charger une image
à partir d'une imagelist}


end.
end;
__________________________________________

DrJerome
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

à la place du "end." tu mets "end;"

DrJerome
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
OK, DrJerome, mais cela ne répond pas vraiment à la question de kanuxxx.
Voici un code source spécifiquement réalisé pour cela : utilisation d'un TDrawGrid
Bonne lecture

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
Messages postés
22
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
5 mai 2005

Pour faire exectement ce que tu veux :



procedure TForm1.DrawGrid1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

Ligne, Colonne: Integer;

Le_Rect: TRect;

begin

DrawGrid1.MouseToCell(X, Y, Colonne, Ligne);

Le_Rect := DrawGrid1.CellRect(Colonne, Ligne);

DrawGrid1.Canvas.Draw(Le_Rect.Left,Le_Rect.Top, image1.Picture.Graphic);

end;



Ce code suppose que ton image est placée dans Image1.

Sinon il y a juste un petit problème pour le bouton gauche de la souris, mais on peut y remedier.

Je peux t'expliquer plus en detail pour le bouton gauche ou autre sur MSN (tu peux trouver mon adresse sur le forum 2009...)



En esperant que ça t'aide...