Passage du curseur sur une image [Résolu]

Messages postés
11
Date d'inscription
mercredi 18 octobre 2006
Dernière intervention
3 décembre 2007
- - Dernière réponse : cs_bilboss77
Messages postés
11
Date d'inscription
mercredi 18 octobre 2006
Dernière intervention
3 décembre 2007
- 17 sept. 2007 à 21:39
Bonjour a tous,
Je trouve assez joli l'effet que font certains boutons quand on passe le curseur dessus j'aimerais faire de meme sous delphi avec un "Timage"
apres avoir inserer un composant "Timagelist" j'ai trouvé sur ce forum de quoi changer l'image du "Timage" le code ressemble a ceci:

image1.picture.bitmap:=nil;
Imagelist1.getbitmap(0,image1.picture.bitmap);

cela fonctionne tres bien quand je passe le curseur sur l'image elle change mais maintenant je voudrais que une fois que le curseur n'est plus sur l'image, elle redevienne comme avant le passage du curseur.

cela peut vous parraitre simple seulement je suis debutant en delphi.
merci pour vos reponses.
ps: j'ai delphi7
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
490
Date d'inscription
dimanche 5 décembre 2004
Dernière intervention
6 avril 2009
3
Merci
Bonjour à toutes et à tous,

@ Bilboss77, pour bien comprendre, au départ ton Timage, contient déjà une image ou tu la charges aussi de ton Timagelist ?

Sinon, tu peux utiliser un timer réglé sur 1500 ou ton choix :



procedure TFmove.ImagetestMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
 begin


timertest.Enabled := true;


imagetest.picture.bitmap:=nil;
ImageMenu.GetBitmap(3,Imagetest.Picture.Bitmap);



end;



procedure TFmove.TimertestTimer(Sender: TObject);
begin
 imagetest.picture.bitmap:=nil;
ImageMenu.GetBitmap(1,Imagetest.Picture.Bitmap);
 timertest.Enabled := false;
end;

@+,

Cincap

[url]mailto:/url

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cincap
3
Merci
Salut Monsieur BillBoss

Ton bouton il flotte pas dans les airs ? . Pourquoi ne pas appliquer la meme procédure, que pour le bouton, dans ta form.

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
imagetest.picture.bitmap:=nil;
ImageMenu.GetBitmap(2,Imagetest.Picture.Bitmap);
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
imagetest.picture.bitmap:=nil;

ImageMenu.GetBitmap(1,Imagetest.Picture.Bitmap);
end;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
490
Date d'inscription
dimanche 5 décembre 2004
Dernière intervention
6 avril 2009
3
Merci
Tu peux alors te passer du timer et utiliser pour le changement de l'image, la propriété "MouseMove" de ta fiche.

procedure TFmove.ImagetestMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
 begin

imagetest.picture.bitmap:=nil;
ImageMenu.GetBitmap(3,Imagetest.Picture.Bitmap);

end;

procedure TFmove.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
imagetest.picture.bitmap:=nil;
ImageMenu.GetBitmap(1,Imagetest.Picture.Bitmap);
end;

Quel est ton code pour le chargement depuis le Timagelist ?

@+,

Cincap

[url]mailto:/url

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cincap
Messages postés
11
Date d'inscription
mercredi 18 octobre 2006
Dernière intervention
3 décembre 2007
0
Merci
Bonjour,
merci pour ta reponse Cincap cela fonctionne seulement il y a encore un petit souci
en effet si le surseur reste sur l'"image" celle ci redeviens comme avant le passage du curseur (position 1).

sinon pour ta question je charge depuis la "imagelist" l'image a placer dans l'"Image" au lancement de l'application.
A+
Commenter la réponse de cs_bilboss77
Messages postés
11
Date d'inscription
mercredi 18 octobre 2006
Dernière intervention
3 décembre 2007
0
Merci
Re bonjour,
cette solutions fonctionne tres bien, merci pour votre aide.
@Cincap: que veut tu dire par code de changement depuis le Timagelist ?

A+
Commenter la réponse de cs_bilboss77
Messages postés
490
Date d'inscription
dimanche 5 décembre 2004
Dernière intervention
6 avril 2009
0
Merci
Je voulai simplement connaître ta façon de réaliser le chargement depuis la "Timagelist" de l'image a placer dans le TImage au lancement de l'application.


Mon dernier message a semble t'il croisé celui de Francky23012301.

Ce qui compte c'est que tu as obtenu une réponse.

@+,

Cincap

[url]mailto:/url
Commenter la réponse de cincap
Messages postés
11
Date d'inscription
mercredi 18 octobre 2006
Dernière intervention
3 décembre 2007
0
Merci
Re bonjour,
@cincap voici le code que j'ai utilisé:
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.picture.bitmap:=nil;
Imagelist1.GetBitmap(3,Image1.Picture.Bitmap);
end;

cela evite que l'application prenne quelques Ko en plus si je chargais dirrectement l'image dans la "Timage"

mais sinon vous sembliez etre daccord sur la methode à utiliser et cela marche tres bien, merci encore.
à bientot.
Commenter la réponse de cs_bilboss77
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
ou alors utiliser mon composant "TdbpMouser" qui permet d'ajouter les events "OnMouseEnter" et "OnMouseExit" ;)
Commenter la réponse de JulioDelphi
Messages postés
490
Date d'inscription
dimanche 5 décembre 2004
Dernière intervention
6 avril 2009
0
Merci
Bonjour à toutes et à tous,

@ Bilboss77, avec ta méthode, tu affiches ton image lorsque ton pointeur est sur la fiche, ce qui est ennuyeux si ta fiche est à wsnormal, de plus il y a un léger tremblement.

Ceci est mieux, tu crées un fichier *.dat avec toutes tes images :

imagemenu =  ton imageList1
 
procedure TForm1.FormCreate(Sender: TObject);
 var
  imageList : TImageList;
begin
 doublebuffered := true;
 WriteComponentResFile('ImageMenu.dat', ImageMenu) ;
 imageList := TImageList.Create(nil) ;
  try
  ReadComponentResFile('ImageMenu.dat', imageList) ;
 imageList.GetBitmap(3,Image1.Picture.Bitmap) ;


  finally
    FreeAndNil(imageList) ;
  end;
end;

@ JulioDelphi, bravo pour ce composant.

@ +,

Cincap

[url]mailto:/url
Commenter la réponse de cincap
Messages postés
11
Date d'inscription
mercredi 18 octobre 2006
Dernière intervention
3 décembre 2007
0
Merci
JulioDelphi j'ai testé ton composant, Super! c'est exactemment ce qu'il me fallait merci beaucoup.
et merci aussi à Cincap pour ton aide.

A bientot.
Commenter la réponse de cs_bilboss77

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.