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

kanuxxx 11 Messages postés lundi 8 novembre 2004Date d'inscription 3 septembre 2005 Dernière intervention - 15 janv. 2005 à 16:19 - Dernière réponse : kanuxxx 11 Messages postés lundi 8 novembre 2004Date d'inscription 3 septembre 2005 Dernière intervention
- 16 janv. 2005 à 20:55
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 !
Afficher la suite 

Votre réponse

5 réponses

kanuxxx 11 Messages postés lundi 8 novembre 2004Date d'inscription 3 septembre 2005 Dernière intervention - 16 janv. 2005 à 20:55
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kanuxxx
DRJEROME 447 Messages postés jeudi 9 janvier 2003Date d'inscription 5 février 2015 Dernière intervention - 16 janv. 2005 à 11:00
0
Utile
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
Commenter la réponse de DRJEROME
DRJEROME 447 Messages postés jeudi 9 janvier 2003Date d'inscription 5 février 2015 Dernière intervention - 16 janv. 2005 à 11:49
0
Utile
à la place du "end." tu mets "end;"

DrJerome
Commenter la réponse de DRJEROME
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 16 janv. 2005 à 13:13
0
Utile
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
Commenter la réponse de cs_Delphiprog
FleX2009 22 Messages postés mercredi 15 décembre 2004Date d'inscription 5 mai 2005 Dernière intervention - 16 janv. 2005 à 18:33
0
Utile
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...
Commenter la réponse de FleX2009

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.