Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect" [ Système / Autre ] (vieuxpere)

lundi 23 juin 2008 à 10:40:23 | Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

vieuxpere

Bonjour, je souhaite qu'en cliquant sur mon bouton (boutton1) j'ai la position (x, y) de la souris à l'instant T sur mon image (image1), à noter que mon bouton se trouve dessus mon image --> l'image étant donc derriere le bouton !).

En posant quelques questions sur le forum, j'ai obtenu le code suivant mais j'ai le message d'erreur "Transtypage de classe incorrect", le code est le suivant :

procedure TForm1.Button1Click(Sender: TObject);

var MP : TPoint;
begin
  GetCursorPos(MP);
  MP := (sender as TImage).ScreenToClient(MP);

end;

AUssi, mprocedure TForm1.Button1Click(Sender: TObject);

var MP : TPoint;
begin
  GetCursorPos(MP);
  MP := (sender as TImage).ScreenToClient(MP);

end;

Aussi mes questions sont les suivantes :
   - Est-ce que ce code, via ajustements, est le bon pour faire ce que je veux faire ?
   - Si non, qu'est-ce que je devrais faire ?

Merci par avance pour vos réponses !


lundi 23 juin 2008 à 10:45:16 | Re : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

vieuxpere

Je le reposte,
Bonjour, je souhaite qu'en cliquant sur mon bouton (boutton1) j'ai la position (x, y) de la souris à l'instant T sur mon image (image1), à noter que mon bouton se trouve dessus mon image --> l'image étant donc derriere le bouton !).

En posant quelques questions sur le forum, j'ai obtenu le code suivant mais j'ai le message d'erreur "Transtypage de classe incorrect", le code est le suivant :

procedure TForm1.Button1Click(Sender: TObject);

var MP : TPoint;
begin
  GetCursorPos(MP);
  MP := (sender as TImage).ScreenToClient(MP);

end;

Aussi mes questions sont les suivantes :
   - Est-ce que ce code, via ajustements, est le bon pour faire ce que je veux faire ?
   - Si non, qu'est-ce que je devrais faire ?

Merci par avance pour vos réponses !


lundi 23 juin 2008 à 11:24:43 | Re : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

Nicolas___

Salut,

Je comprends ce que tu veux faire mais si ce n'est pas indiscret pourquoi veux tu faire cela ?
Qu'elle est le but de ta man½uvre ?
Parce que je suis sur qu'il y a surement moyen de faire autrement ce que tu veux réaliser ...

Ciao

lundi 23 juin 2008 à 11:38:57 | Re : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

vieuxpere

En gros je dessine une grille horaire en canvas sur une image, je souhaite savoir où se situe le pointeur de la souris afin de savoir sur quelle zone horaire il se trouve.

Cordialement,


lundi 23 juin 2008 à 12:19:46 | Re : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

cirec

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

l'erreur est normal et même logique

procedure TForm1.Button1Click(Sender: TObject);
var MP : TPoint;
begin
  GetCursorPos(MP);
  MP := (sender as TImage).ScreenToClient(MP);
end;


Sender représente l'objet qui a déclenché l'évènement et donc dans ce cas,
en règle général, c'est Button1 qui le déclenche lui même ... donc Sender = TButton
et forcement (Sender as TImage) n'est pas apprécié par le compilateur

pour ton cas de figure il faut utiliser l'évènement OnClick où OnMouseDown de l'objet TImage.

sinon pour passer par un TButton tu peux essayer comme ceci:

procedure TForm1.Button1Click(Sender: TObject);
var MP : TPoint;
begin
  GetCursorPos(MP);
  MP := Image1.ScreenToClient(MP);
end;

 
@+
Cirec


lundi 23 juin 2008 à 14:50:30 | Re : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

vieuxpere

Merci de cette réponse,

Mais apres avoir testé, j'ai toujours mon X qui a la valeur 0 quelque soit la zone où je clique sur l'image.

Faut-il que j'initialise X ou cette méthode n'est pas la bonne ?

Merci pour vos réponses.

lundi 23 juin 2008 à 15:15:31 | Re : Clic dans une image pour obtenir position --> "Transtypage de classe incorrect"

vieuxpere

Merci bcp en fait pour initialiser il fallait simplement faire X:=MP.X;

BIen cordialement,



Cette discussion est classé dans : image, sender, position, mp, transtypage


Répondre à ce message

Sujets en rapport avec ce message

Redimensionner un timage/tshape avec des poignées [ par edge76000 ] Bonjour, Je sais que sur le site Phidels, ce programme le traite et doit pouvoir répondre à ma question car c'est exactement ce que je veux faire au n Comment connaitre la position d'un clic dans un Image ? [ par vieuxpere ] Bonjour,Je souhaiterais obtenir les ordonnées et abcisses de mon clic dans un composant Image.En fait je veux obtenir la position horizontale d'un com pb de transfert de position de fichier image après compilation [ par keepcool69140 ] Bonjour,dans une form image, je charge un fichier image parimage1.Picture.LoadFromFile('norme10816-6_1.bmp');mais des que je change mon programme de r problème affichage image [ par davibz ] Bonjour,    Je viens de débuter avec delphi et j'ai qq soucis avec ma page de chargement. J'ai une image et une progressbar dans ma fenetre chargement ouverture d'une image [ par nemo216 ] Bijour la fine èquipe g un tit probleme: je dois, pour mon programme, appelet une image. J'utilise un OpenPictureDialogue pour appelé mon image mais l Tentative d'OCR ... [ par cerber943 ] Bonjour à tous,J'ai un logiciel duquel je voudrais récupérer des données texte qui sont incrustées dans des images (c du flash). J'ai besoin de ca pou modification d'image [ par 365tib ] Bonjours,J'ai un petit probleme pour modifier une image pixel par pixel, quand j'execute le prog, on me renvoie "ne peut modifier une Image que si ell Pb Dessin sur Image [ par Jean_Jean ] Bonsoir, J'ai l'impression que je ne place pas le code où il faut. L'évènement o Redimensionner un composant du haut vers le bas [ par mecsympa ] Pour un programme, j'ai besoin de redimensionner une image. Mais si j'utilise height (ou width) l'image se reduit du bas vers le haut. Je voudrais fai Recuperation d'un hint sur un Treeview [ par lo_63 ] bonjour je cherche le moyen de recuperé les hint d'un treeview externe a mon application.j'ai beau chercher mais je ne trouve rien.je pense qu'il faut


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.